首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITabBarController古怪?

UITabBarController古怪?
EN

Stack Overflow用户
提问于 2011-07-26 18:34:16
回答 2查看 1K关注 0票数 4

如果我通常加载一个UITabBarController并在视图之间切换,它会调用每个视图控制器的viewWillAppear。但事实并非如此。

我想在另一个选项卡被触摸后立即切换到另一个选项卡。

如果我指定要加载的选项卡-例如,在其中一个选项卡的[self.tabBarController setSelectedIndex:0]中(例如,表4).它立即返回到表0。

但之后..。当我在选项卡之间切换时,它不会在任何选项卡上调用viewWillAppear。例如,如果我再次转到选项卡4,它就不会返回到选项卡0。我期望它在一个永无止境的循环中结束,因为我期望选项卡0一接触到选项卡4就会加载。

但是它只运行一次,

为什么??

注:问题已被编辑。

EN

回答 2

Stack Overflow用户

发布于 2011-07-26 19:33:51

我想我找到了解决办法。每次在选项卡上单击时,它都会运行,并且在这两个选项卡上调用viewWillAppear

您可以在您的AppDelegate (或UITabBarController的委托中的其他部分)中这样做:

代码语言:javascript
复制
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

样本代码:

代码语言:javascript
复制
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    if([self.tabBarController.viewControllers indexOfObject:viewController] == 1) {
        [self.tabBarController setSelectedIndex:0];
    }
}
票数 2
EN

Stack Overflow用户

发布于 2011-07-26 18:51:43

设置selectedIndex不会更改selectedViewController。您必须更改selectedViewController本身。有关更多细节,请查看文献资料

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6834791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档