如果我通常加载一个UITabBarController并在视图之间切换,它会调用每个视图控制器的viewWillAppear。但事实并非如此。
我想在另一个选项卡被触摸后立即切换到另一个选项卡。
如果我指定要加载的选项卡-例如,在其中一个选项卡的[self.tabBarController setSelectedIndex:0]中(例如,表4).它立即返回到表0。
但之后..。当我在选项卡之间切换时,它不会在任何选项卡上调用viewWillAppear。例如,如果我再次转到选项卡4,它就不会返回到选项卡0。我期望它在一个永无止境的循环中结束,因为我期望选项卡0一接触到选项卡4就会加载。
但是它只运行一次,!
为什么??
注:问题已被编辑。
发布于 2011-07-26 19:33:51
我想我找到了解决办法。每次在选项卡上单击时,它都会运行,并且在这两个选项卡上调用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];
}
}发布于 2011-07-26 18:51:43
设置selectedIndex不会更改selectedViewController。您必须更改selectedViewController本身。有关更多细节,请查看文献资料。
https://stackoverflow.com/questions/6834791
复制相似问题