2011-10-04 3 views

Répondre

1

Effectuez les opérations suivantes

- (void)viewDidLoad //of mainViewController { 
     //do viewController1 alloc init  // Gray Color 
     [self.view addSubview:viewController1.view]; 

     //do viewController2 alloc init  //Red Color 
     [self.view addSubview:viewController2.view]; 

     [viewController2.view setHidden:YES]; 
    } 

//assign this method to segmented controls' valueChanged event 
    - (IBAction)segmentControlClicked:(id)sender { 
     UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; // if segmented control is not declared as an IBOutlet 
     if (segmentedControl.selectedSegmentIndex == 0) { 
      [viewController1.view setHidden:NO]; 
      [viewController2.view setHidden:YES]; 
     } 
     else if (segmentedControl.selectedSegmentIndex == 1) { 
      [viewController2.view setHidden:NO]; 
      [viewController1.view setHidden:YES]; 
     } 
    } 

Assurez-vous que l'origine 'y' viewController1 et viewController2 sont en dessous du contrôle segmentée afin que le segmentée le contrôle n'est pas caché.

1

vous pouvez prendre deux vues en xib et ajouter à la fois vue dans la vue principale au point de vue ne charge et définir la propriété cachée pour un que vous ne voulez pas montrer, puis définir la propriété cachée TRUE ou FALSE pour l'événement de contrôle du commutateur activé.

+0

Je voudrais le faire avec des vues séparées ... –

0

Effectuez les opérations suivantes

- (IBAction)segmentControlClicked:(id)sender { 
    if (!viewController1) { 
     //do alloc init 
    } 
    if (!viewController2) { 
     //do alloc init 
    } 

    UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; 
    if (segmentedControl.selectedSegmentIndex == 0) { 
     [viewController1.view setHidden:NO]; 
     [viewController2.view setHidden:YES]; 
    } 
    else if (segmentedControl.selectedSegmentIndex == 1) { 
     [viewController2.view setHidden:NO]; 
     [viewController1.view setHidden:YES]; 
    } 
} 
+0

Comment l'ajouter à cette vue (celle qui est grise dans l'image)? –

+0

Nouvelle réponse ajoutée. Lisez s'il vous plaît – Sahil