在iOS中显示新视图和选项卡栏控制器

时间:2011-04-16 19:56:36

标签: iphone ios ios4 uitabbarcontroller tabbar

我正在努力实现以下目标,但不知道最好的方法,所以任何提示都会很棒。

我的应用有一个第一个根视图,其中有一个带有4个标签的标签栏,其中一个标签包含一个表格视图。当在表视图上选择一个项目时,我想显示一个详细信息页面(我可以做得很好),但也完全更改标签栏以匹配新的数据集。

这是一个很好的例子,是免费的F1 2011应用程序。选择“实时计时”时,您将进入带有不同标签栏的新屏幕(顶部有一个主页按钮,可以返回上一个屏幕。)

如何才能实现这一目标?

提前致谢。

弗雷泽

2 个答案:

答案 0 :(得分:0)

只需在didSelectRowAtIndexpath:方法中创建一个新的tabbarcontroller视图(就像在app委托中一样)。

答案 1 :(得分:0)

尝试将视图控制器与表链接到新的UITabBarController并使其成为模态segue。在带有表的viewcontroller的类中执行

#import "FirstViewControllerInNewTabBar"

然后在

(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

您需要执行以下操作的方法:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    // Since your segue is pointing to the new tab bar controller
    UITabBarController *tabBarController = (UITabBarController *)segue.destinationViewController;  

    // Now you want to pass data into the new tab bar's view controllers
    FirstViewControllerInNewTabBar *vc = (FirstViewControllerInNewTabBar *)[tabBar.viewControllers objectAtIndex:0];

    // Assuming FirstViewControllerInNewTabBar has a property 'NSString *dataToPassIn'
    vc.dataToPassIn = @"Potato";
}