【发布时间】:2011-06-12 14:36:58
【问题描述】:
我在 xcode 中创建了一个基本项目作为“选项卡栏应用程序”,如果 BOOL x 为真,我希望在加载时将应用程序切换到第二个选项卡。
现在我有:(位于 viewDidLoad 中的 FirstViewController.m)
if(x){
[self.tabBarController setSelectedIndex:1];
}
这会导致页面底部的选定选项卡突出显示第二个选项卡,但视图仍然是第一个选项卡的视图。
如何将视图更改为第二个选项卡的视图?
【问题讨论】:
-
你所拥有的在表面上是正确的。我怀疑标签栏控制器的设置方式有些奇怪。如果您要记录标签栏控制器的 viewControllers 属性,您会看到不同的视图控制器吗?
-
是的,如果我记录 viewControllers 我会在我的项目中返回一个包含 3 个控制器的数组。
-
好的,那么如果您在调用 -setSelectedIndex: 之前和之后记录标签栏控制器的 selectedViewController 属性,这些控制器是您期望的,还是保持不变?
-
第二个显示了我的期望,但是在运行 setSelectedIndex 之前它显示 (null)
-
好吧,我玩了一下。如果我将代码移动到一个按钮而不是 viewDidLoad 它可以工作。我如何让它在 viewDidLoad 中工作?
标签: iphone objective-c