StatusBar填充自动添加到setNeedsLayout上

时间:2016-12-13 08:31:41

标签: ios objective-c swift

我想在当前ViewController底部显示一个具有特定高度的ViewController。然后我添加了将ViewController移动到StatusBar后面的能力。我用UIPresentationController实现了它。它看起来像这样:

screenshot - Full Screen

现在我有一个很大的问题:当我为任何标签设置一个新值时,方法setNeedsLayout被调用,我呈现的ViewController的视图将顶部的填充增加20px。它看起来像这样:

screenshot - FullScreen with StatusBar Padding

我的目标是将新文本设置为标签而不触发此填充插入。为什么甚至添加?我尝试手动设置视图的框架和边界,但它没有工作。财产automaticallyAdjustsScrollViewInsets也没有帮助。

1 个答案:

答案 0 :(得分:0)

经过一番研究后,我发现我可以覆盖prefersStatusBarHidden方法。通过这样做,状态栏消失了。因为对话框是模态的,所以我需要添加myDestinationController.modalPresentationCapturesStatusBarAppearance = true才能使其正常工作。

我希望将来帮助一些人!