如何使self.view成为视图控制器的全高(占据导航栏和状态栏的高度)

时间:2013-08-07 01:33:30

标签: ios objective-c uiview uiviewcontroller uinavigationcontroller

现在,self.view是视图控制器的高度减去导航栏和状态栏的高度,所以当我隐藏这些时,它会混淆我的自动布局约束。鉴于导航栏和状态栏被隐藏和取消隐藏的频率,只是给视图控制器提供全高(但仍然允许导航栏和状态栏有时在那里)会更容易,我究竟会怎么做?

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全按照你的意愿行事,但我认为这是符合这些原则的:

- (void) viewDidLoad
{
    [super viewDidLoad]
    self.view.frame = [[UIScreen mainScreen] bounds];

    // You may or may not want to reference [[UIDevice currentDevice] orientation], too

    // Other stuff, whatever you want to do...
}

另请注意,如果您遇到的问题与这些问题相关,您可以关闭自动调整大小和约束。

通常,视图控制器的视图不包括导航栏等不是一个好主意。如果你因此遇到麻烦,你可能想考虑另一种设计。