0

ナビゲーション バーにUISegmentControlを持つナビゲーション コントローラーがあります。すでに UIViewController を rootViewController としてナビゲーション コントローラーに設定しています。これで、ユーザーが UISegmentControl を選択したときに切り替える必要がある、他に 2 つの UITableViewControllers ができました。

私は

[rootViewController.view addSubview:firstTableView.view]

セグメントコントロールの値が変更されたイベントを処理するときに、他のテーブルビューコントローラーを次のように設定します

[rootViewController.view removeFromSubview];
[rootViewcontroller.view addSubview:secondTableView.view];
[segmentControl setEnabled:YES forSegmentAtIndex:segmentControl.selectedSegmentIndex];

しかし、セグメント コントロールが 2 番目のテーブル ビューに切り替わると、何も起こりません !!! ただ空白。

誰でもこれを行う方法を教えてもらえますか?

4

2 に答える 2

1

ビューコントローラーをサブビューとして追加するには、次のようにします。

[rootViewController.view addSubview:firstTableView.view];
[rootViewController addChildViewController:firstTableView]; 

そしてそれを削除するには:

[firstTableView.view removeFromSuperview];
[firstTableView removeFromParentViewController];

[rootViewcontroller.view addSubview:secondTableView.view];//now you can add second tableviewcontoller
[rootViewController addChildViewController:secondTableView];
于 2013-02-28T03:57:06.570 に答える
1
-viewDidLoad()
{

[ self.view addSubview: firstTableView] ;
firstTableView.hidden = yes;
[ self.view addSubview: secondTableView] ;
secondTableView.hidden = yes;


}

-(IBAction) segmentAction:(id)sender 
{
    UISegmentedControl* control = sender ;

    if( [control selectedSegmentIndex] == 0 )
    {
       firstTableView.hidden = no;
       secondTableView.hidden = yes;

    }
    if( [control selectedSegmentIndex] == 1 ) 
    {  

       firstTableView.hidden = yes;
       secondTableView.hidden = no;
    }

}
于 2013-02-28T04:57:16.880 に答える