2

我在有 3 个选项卡的应用程序中动态添加了选项卡栏。现在这些 3tabs 打开特定的视图控制器:-

第一个标签打开:-信息页面

第二个标签打开:-一些列表页面

第三个标签打开:-设置页面

现在选择第三个选项卡设置页面出现在设置页面中,我有一个按钮可以将应用程序导航到一些详细设置页面。现在详细设置页面单击更改按钮它将更改选项卡的视图控制器。:-

第一个标签打开:-信息页面

第二个选项卡打开:-地图页面(而​​不是一些列表页面)

第三个标签打开:-设置页面**

这就是问题所在。我没有任何线索可以更改已经设置一次的第二个选项卡的视图控制器。

我在 someviewcontoller.m 文件的 viewwillappear() 函数中动态添加了标签栏:-

tabBarController = [[UITabBarController alloc] init];
    [tabBarController setViewControllers:[NSArray arrayWithObjects:nav1,nav2,nav3,nil]];

    [self.navigationController pushViewController:tabBarController animated:YES];

    [nav1 release]; nav1 = nil;
    [nav2 release]; nav2 = nil;
    [nav3 release]; nav3 = nil;
    [tabBarController release]; 
    tabBarController = nil;
4

1 回答 1

2

试试这个!nav1,nav2,nav3 是 navigationController 的对象。您必须使用 ViewController 来传递每个导航控制器。所以你需要改变nav2中的viewController。将 nav2 的 viewcontroller 的对象从 Some List 页面的 View Controller 更改为 Map Page View Controller 的对象。

更改视图控制器的对象将动态更改 Tab 按钮。希望它可以帮助你。

谢谢 :)

于 2012-09-13T05:59:41.713 回答