UISegmentController y UIViews

Me gustaría saber cómo operar correctamente con dos vistas de UISegmentController .

Ahora tengo dos UIViews y UISegmentController y el procedimiento changeView :

 - (void)changeView:(NSInteger)index { switch (index) { case 0: self.recipeInfoView.alpha = 1; self.recipeInfoView2.alpha = 0; break; case 1: self.recipeInfoView.alpha = 0; self.recipeInfoView2.alpha = 1; break; default: break; } 

Este código funciona, pero cada vista tiene la misma position y tamaño y muy incómodo para trabajar con él. Estoy usando storyboards.

Primero escribe el código siguiente para crear UISegmentedControl y dar color a tu UIView .

 - (void)viewDidLoad { [super viewDidLoad]; //Make hide of your UIView self.recipeInfoView.hide = YES; self.recipeInfoView2.hide = YES; //Give color of your UIView self.recipeInfoView.backgroundColor = [UIColor networkingColor]; self.recipeInfoView.backgroundColor = [UIColor blackColor]; //Create UISegmentedControl Controller NSArray *itemArray = [NSArray arrayWithObjects: @"FirstView", @"SecondView", nil]; self.segmentedControl= [[UISegmentedControl alloc] initWithItems:itemArray]; self.segmentedControl.frame = CGRectMake(35, 100, 250, 33); self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; self.segmentedControl.momentary=NO; self.segmentedControl.tintColor=[UIColor darkGrayColor]; [self.segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:self.segmentedControl]; } 

// segmentAction Methods

 - (IBAction)segmentAction:(id)sender { if([sender selectedSegmentIndex] == 0) { if(self.recipeInfoView.isHidden == YES) self.recipeInfoView.Hidden == NO; else self.recipeInfoView.Hidden == NO; if(self.recipeInfoView2.isHidden == YES) self.recipeInfoView2.Hidden == YES; else self.recipeInfoView2.Hidden == YES; } else if([sender selectedSegmentIndex] == 1) { if(self.recipeInfoView2.isHidden == YES) self.recipeInfoView2.Hidden == NO; else self.recipeInfoView2.Hidden == NO; if(self.recipeInfoView.isHidden == YES) self.recipeInfoView.Hidden == YES; else self.recipeInfoView.Hidden == YES; } } 

Este código puede ser útil en su caso.

establecer propiedad de vista oculta = SÍ o NO en lugar de establecer alfa para vista