在-loadView中正确调整视图大小

时间:2010-02-13 17:37:39

标签: iphone cocoa-touch uiviewcontroller

通过-loadView创建我的视图时,我遇到了问题。看起来我的视图框总是(0,0,320,460),即使视图/控制器嵌套在UINavigationController和/或UITabBarController中也是如此。当我的视图控制器嵌套在这些项目中时,有没有办法以编程方式检测,以便我可以设置正确的框架?我的loadView只是设置一个嵌套的UIScrollView,它应该与屏幕上的可见尺寸完全匹配(当有标签栏和导航栏可见时,460px太高了。)

我没有硬编码这些值的原因是我希望这个视图控制器可以重用并在所有场景下工作。

2 个答案:

答案 0 :(得分:2)

UIViewController中有一些可能感兴趣的属性:

  • navigationController
  • tabBarController

如果这些不是nil,您应该能够判断是否需要调整视图大小。

答案 1 :(得分:0)

不要在loadView:或viewDidload中布局视图:没有笔尖。在viewWillAppear:中执行,当时主视图的框架正确。