2011-10-04 13 views

答えて

1

は、セグメント化されるように 'y' を起源viewController1とviewController2は、セグメント化されたコントロール下にあることを確認してください、次の

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

を実行してみコントロールは隠されていません。

1

あなたはXIBに2つのビューを取ると、ビューでメインビューで行った負荷を両方のビューを追加し、表示したくないいずれかの隠されたプロパティを設定し、TRUE隠されたプロパティを設定したりすることができますスイッチ制御イベントがオフの場合はFALSE。

+0

私は別のビューでそれをしたいと思っています... –

0

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

どのように私はそのビュー(写真では灰色)に追加しますか? –

+0

新しい回答が追加されました。読んでください – Sahil

関連する問題