调用状态栏的iOS应用程序布局是错误的

面对活动调用和应用程序布局期间状态栏的问题。

我正在使用自动布局。 当我运行应用程序,然后开始通话,所有工作正常,用户界面被正确缩放与改变的状态栏。

但是如果我第一次打电话,然后运行应用程序,应用程序屏幕将移动到底部20pt,就像他们没有在新的状态栏上做出反应一样。 即使我将closures电话,用户界面将被移到底部。

也许有人知道如何解决这个问题?

这很容易,当你对你的视图给予约束的时候,你对视图控制器的TLG(顶层布局指南)给予了他们。 现在,当发生呼叫时,状态栏会resize,TLG会因此而发生变化并导致视图移动。

为了防止这种情况发生,您可能希望将您的视图的顶层限制放在superview的顶部。 现在在这种情况下,视图的约束不依赖于状态栏大小变化时发生变化的TLG,因此在调用状态栏或改变状态栏大小的任何其他事件期间,它们都不会改变。 示例视图的顶部约束是关于superview的顶部

示例视图,其顶部约束是关于TLG