2010-09-21 68 views
0

发生了一件非常奇怪的事情。我已经两次和三次检查自己。 我正在使用UITabBarController,并用4个不同的视图控制器初始化它。 但是,由于某种原因,应用程序启动时,仅显示第一个标签栏图像。只有当我触摸标签栏的空白部分时 - 那么突然出现底层图像。
我怀疑这是最新的SDK中引入的错误 - 我刚更新到iOS SDK 4.1的Xcode 3.2.4。 这发生在其他人身上吗? 或者也许 - 任何想法可能会导致这种情况?UITabBarController中的错误?

谢谢!
Ariel

+2

所以相同的代码以前工作正常? – Toastor 2010-09-21 11:42:15

+0

发表一些代码。 – DexterW 2010-09-21 21:05:55

回答

1

我发现我的问题。这不是新Xcode版本中的错误,当然这是我自己的错误,并且非常感谢你们的帮助。

问题是我在各种视图控制器的viewDidLoad函数中初始化我的UITabBarItems。但是,只有在第一个视图控制器(正在显示的视图控制器)中调用此函数,并且在我触摸相关的选项卡栏按钮之前,不会为所有其他视图控制器调用此函数。因此,只有在触摸按钮时,标签栏项目才会初始化并显示。

解决方法是在UIViewController的init函数中初始化UITabBarItems。
现在一切正常:-)

再次感谢你们!
Ariel

0

我的答案是严格为后代。

-(id)init请辞并没有为我工作...

然而,把它在(void)awakeFromNib没有因为:

如果一个的UITabBarController笔尖连接为1)初始化不叫加载... 2)awakeFromNib IS调用时,它被加载:)