0

我有一个导航控制器,它的导航栏上有一个UISegmentControl,我已经将一个 UIViewController 设置为导航控制器的 rootViewController。现在,当用户选择 UISegmentControl 时,我需要在另外两个 UITableViewController 之间切换。

我设置

[rootViewController.view addSubview:firstTableView.view]

当我处理段控制值更改事件时,我像这样设置另一个表视图控制器

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

但是当段控制切换到第二个表格视图时,什么都没有!!!只是空白。

谁能告诉我该怎么做?

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 回答