UITabBarController中的错误?

时间:2010-09-21 11:37:22

标签: iphone xcode ios4 uitabbarcontroller touch

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

谢谢!
爱丽儿

2 个答案:

答案 0 :(得分:1)

我发现了我的问题。这不是新Xcode版本中的错误,当然是我自己的错误,谢谢你们试图提供帮助。

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

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

再次感谢你们! 爱丽儿

答案 1 :(得分:0)

我的答案完全是针对子孙后代的。

加入-(id)init对我不起作用......

然而,把它放在(void)awakeFromNib中是因为:

1)如果正在加载与UITabBarController的nib连接,则不会调用init ... 2)awakeFromNib在加载时被调用:)