首页 > 解决方案 > 如何防止 iOS 13 中的 uinavigationbar 和视图之间的间隙?

问题描述

我们目前在 iOS 13 中使用模态演示时遇到了导航栏大小的问题。

在大多数情况下,这可以正常工作,如下图所示:

然而,在一些屏幕中,我们得到了这种奇怪的效果,导航栏的高度较低,并且在它和视图之间有一个奇怪的“透视”间隙。如此屏幕截图所示:

两个视图控制器都为其属性设置了相同的值,以模态方式呈现并对其子视图具有相同的约束(与超级视图/边距/顶部布局指南的间距为 0)。

此问题在 iOS 12 中不会发生,即使使用 iOS 13 SDK 构建也是如此。这是 iOS 13(beta 8)中的一个已知问题,还是我们应该在代码/故事板中进行调整?

标签: iosxamarinstoryboarduikituinavigationbar

解决方案


override func viewWillAppear(_ animated: Bool) {  
    super.viewWillAppear(animated)  
    if #available(iOS 13.0, *) {  
        navigationController?.navigationBar.setNeedsLayout()  
    }
}  

我们在这里找到了这项工作,它对我们有用。


推荐阅读