tabbarcontroller的奇怪行为

时间:2011-02-03 13:51:43

标签: iphone tabbarcontroller

我有一个标签栏应用程序,我遇到了一个奇怪的行为....当我切换标签栏并进入新的视图控制器有时这些视图控制器的viewDidLoad被调用...虽然应该调用viewDidLoad只是第一次...... 任何人都可以告诉......任何建议吗?

3 个答案:

答案 0 :(得分:2)

如果内存警告不足,则标签栏控制器将释放所有不可见的视图。这意味着您可以多次调用viewDidLoad,因为视图已被卸载。

答案 1 :(得分:1)

您的应用是否内存密集,或许是您收到内存警告?虽然我没有经历过你所描述的行为,但由于内存不足,可能会因为内存不足而释放出看不见的视图。当他们接下来进入视图时,他们需要重新初始化,调用viewDidLoad

答案 2 :(得分:0)

你确定它是viewDidLoad,而不是viewWillAppear?

viewDidLoad只会在每个UIViewController子类中调用一次,所以如果您的布局是这样的:

-UITabBarController:
    - HappyUIViewController
    - SadUIViewController
    - ThirdUIViewController

然后将调用viewDidLoad三次。一次用于HappyUIViewController,一次用于SadUiViewController,依此类推。