每次在基于UITabBar的应用程序中单击标签栏项时,如何显示不同的视图?

时间:2011-09-19 07:09:59

标签: iphone ios uitabbar uitabbaritem

我希望在单击tabbaritem 1时显示屏幕1,如果我更改了某些设置,我会转到不同的视图,当我再次单击tabbaritem 1时,我想显示屏幕2.

我有一个基于UITabbar的应用程序,MainWindow.xib在视图之前加载了不同的标签。

如何以编程方式更改它?

请帮忙

3 个答案:

答案 0 :(得分:1)

只需在方法viewWillAppear而不是viewDidLoad中创建要创建的视图的代码。每次返回标签1时都会调用此方法

答案 1 :(得分:0)

MainWindowAppDelegate转为UITabBarDelegate,而不是使用 - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 捕获选项卡选择。选中所需的标签后,使用image UITabBarItem属性设置您喜欢的图片。

答案 2 :(得分:0)

在App Delegate中实施以下方法

- (void)tabBarController:(UITabBarController *)controller willBeginCustomizingViewControllers:(NSArray *)viewControllers {

    UINavigationController *nc;
    nc = viewController;

    if(controller.selectedIndex == 3){
        [[nc.viewControllers objectAtIndex:0] replaceSubView];
    }
}

下面, if(controller.selectedIndex == 3)

3 =您想要更改子视图的viewcontroller索引。

和“replaceSubView”

是您要在其中更改子视图的视图控制器中的方法。

如有任何困难,请告诉我。

干杯。