2011-10-26 49 views
0

当您通过界面创建标签栏控制器而不是编程式时,您没有标签栏控制器类。在这种情况下,如何从视图控制器移动到此标签栏控制器?从视图控制器移动到标签栏控制器

+0

我不明白这个问题......你想知道如何从其子视图控制器的代码访问标签栏控制器? – ayoy

+0

不,我有一个视图控制器出现在标签栏控制器出现之前。所以基本上我想要的理想程序结构是视图控制器 - >视图控制器 - > tabbarcontroller(它有两个子视图控制器) – CodeGeek123

+0

而你正在导航控制器中显示你的视图控制器? – ayoy

回答

1

您可以尝试先创建标签栏控制器。然后以模态方式显示全屏幕启动画面(例如,没有动画,以便用户不会注意到标签栏控制器),并关闭您显示位置选择器的启动画面。一旦用户完成它,你就会关闭两个显示选项卡控制器的模式控制器。

如果您需要根据您从位置选择器获得的信息在标签栏控制器中设置视图控制器,您可以执行通过委托,那就是:

  1. 实现用于启动画面和位置选择委托
  2. 实例化的标签栏控制器
  3. 显示初始屏幕,设置选项卡栏控制器的当前VC初始屏幕
  4. 的委托
  5. 显示位置选择器,将其代表设置为相同的视图控制器(您将在初始屏幕中显示手柄)
  6. 一旦用户关闭位置选择器,您就可以通知代表它可以从位置选择器收集所需的数据。

我希望它有帮助。

1

起初让那么tabbarcontroller使UIView的控制器......比如......

NSMutableArray *listOfViewControllers = [[NSMutableArray alloc] init]; 

     tab1view = [[tab1viewcontroller alloc] initWithNibName:@"tab1viewcontroller" bundle:nil]; 
     [listOfViewControllers tab1view]; 
     [tab1view release]; 

     tab2view = [[tab2viewcontroller alloc] initWithNibName:@"tab2viewcontroller" bundle:nil]; 
     [listOfViewControllers tab2view]; 
     [tab2view release]; 

     [self.tabBarController setViewControllers:listOfViewControllers animated:YES]; 

我认为这将帮助你。

相关问题