如何在呼叫状态栏出现时调整视图大小

时间:2015-11-21 13:16:39

标签: ios autolayout

好的,我已经搜索了高低,似乎无法找到应用程序应如何响应当In-Call状态栏出现或消失时的解释。

我看到以下行为: - 当视图控制器可见并且状态栏出现或消失时,视图控制器会完美响应 - 但是,当导航到ViewControllers时,如果状态栏存在但其他人都不愿意,则其中一个会通过调整自身第一次正确响应 - 然后当状态栏随后出现或消失时,他们都会正确调整其大小。

当响应状态栏更改时,它们可见时正确调整大小的事实似乎表明自动布局约束已正确设置。

有没有人有任何建议如何强制视图在可见时进行调整。或者,是否有人有任何示例代码可以放入func statusBarFrameWillChange(note: NSNotification)回调?

1 个答案:

答案 0 :(得分:0)

好的,我发现了一些似乎有用的东西 - 看起来很奇怪,iOS并不是简单地处理它 - 视图控制器一定是错的!?!

/// Handle In-Call Status Bar or other changes
override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.view.frame = (self.view.superview?.bounds)!
}