如果我正常加载UITabBarController
并在视图之间切换,则会调用每个视图控制器的viewWillAppear
。
但事实并非如此。
我想在触摸另一个标签后立即切换到另一个标签页。
如果我指定要加载的标签 - 例如[self.tabBarController setSelectedIndex:0]
其中一个标签(例如标签4)......它会立即返回标签0。
但之后......当我在它们之间切换时,它不会在任何标签上调用viewWillAppear
。
例如,如果我再次转到选项卡4,它不会返回到选项卡0.我希望它是一个永无止境的循环,因为我希望在选项卡4触摸时选项卡0加载。
但它运行 JUST ONCE !!
为什么??
注意:问题已被修改。
答案 0 :(得分:2)
我想我找到了解决方案。每次 你点击你的标签,在两个标签上调用viewWillAppear 。
您可以在AppDelegate
(或UITabBarController代理中的其他地方)执行此操作:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
示例代码:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if([self.tabBarController.viewControllers indexOfObject:viewController] == 1) {
[self.tabBarController setSelectedIndex:0];
}
}
答案 1 :(得分:0)
设置selectedIndex不会更改selectedViewController。您将不得不更改selectedViewController本身。请查看the documentation了解更多详情。