viewDidLoad中的View为null

时间:2011-09-01 04:38:32

标签: view nib

我创建UITabBarController,每个标签包含UINavigationController并在此UINavigationController中设置rootviewcontroller,所有这些都在界面构建器中完成。在viewDidLoad中,我尝试从视图中获取帧大小,但是当我引用视图时,它返回null。以前有没有人经历过这个。

所有IBoutlet都已正确连接。

1 个答案:

答案 0 :(得分:7)

viewDidLoad如果您的.xib中的视图已关联,则返回零视图可能意味着:

对于程序化初始化(自定义控制器):

  • 您忘记在视图控制器类上完全调用initWithNibName:bundle:(您可能已调用init或其他内容)。
  • 您已在视图控制器类中重写了loadView方法,但未设置view

对于所有控制器:

  • 未正确连接插座连接。
  • 您在显示视图或视图控制器之前意外释放了它。
  • 初始化视图时未正确指定nibName参数(找不到笔尖或找不到视图但没有找到视图...虽然这也应该抛出异常。)
  • 没有足够的内存来分配view(虽然该应用程序很可能已被终止)。

我建议您尝试在viewWillAppear:中进行帧大小计算,然后查看此时view是否仍为nil