¿Cómo hacer que UISegmentedControl actúe como un UITabBarController?

¿Cómo puedo usar UISegmentedControl para cargar diferentes subvistas cuando se seleccionan diferentes segmentos? Soy nuevo en la progtwigción objective-c y iOS.

O ¿hay alguna manera de hacer que UITabBarController se vea como un UISegmentedControl?

Para un enfoque programático

en loadView:

{ NSArray *segments = [NSArray arrayWithObjects:@"Left", @"Right", nil]; segmentedControl = [[UISegmentedControl alloc]initWithItems:segments]; [segmentedControl addTarget:self action:@selector(changeSubViews) forControlEvents:UIControlEventValueChanged]; contentView = [UIView alloc]initwithFrame:(the frame where you want the subViews to be displayed)]; [self.view addSubView:contentView]; } - (void)changeSubViews { switch(segmentedControl.selectedSegmentIndex) { case 0: { [rightView removeFromSuperView]; if (leftView ==nil){leftView alloc, init;} [contentView addSubView:leftView]; break; } case 1: { [leftView removeFromSuperView]; if (rightView ==nil){rightView alloc, init;} [contentView addSubView:rightView]; break; } } } 

Puede agregar una UIToolbar a la view del controller raíz. En él, tendría un UISegementedControl con acciones que el controller raíz manejará. Dependiendo del segmento al que se haya hecho clic, cargará una vista diferente y mostrará la vista debajo de la UIToolbar (y cualquier otra cosa que desee que la vista esté debajo).

¡Espero que esto ayude!

Debería considerar la respuesta de crafterm en esta publicación: UISegmentedControl Best Practice

Esto le permitirá mantener el comportamiento normal de ViewController (rotation de soporte, advertencias de memory, etc.) al mismo time que permite el control segmentado en la parte superior.

Está bien para este propósito, crea dos vistas en su vista y crea properties para ambos en el file .h y adjunta una IBAction al control segmentado y escribe un código como este

 if(self.yourSegmentedControl.selectedSegmentIndex==0) { view1.hidden=YES; view2.hidden=NO; } else if(self.categorySegmentedControl.selectedSegmentIndex==1) { view2.hidden=YES; view2.hidden=NO: } 

Espero que esto te ayudará.