2013-02-25 4 views
4

Я хотел бы знать, как правильно работать с двумя видами по UISegmentController.UISegmentController и UIViews

Теперь у меня есть два UIViews и UISegmentController и процедура 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; 
} 

Этот код работает, но каждый вид имеет такое же положение и размер и очень неудобно работать с ним. Я использую раскадровки.

ответ

3

Сначала напишите следующий код Для создания UISegmentedControl и укажите цвет вашего 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 redColor]; 
     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 Методы

- (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; 

    } 
} 

Этот код может быть полезным в вашем случае.

+0

Да, забыл про "скрыть" ... Спасибо – Romowski

1

set view property hidden = YES или NO вместо настройки alpha для просмотра

Смежные вопросы