ios - iOS 13中如何防止uinavigationbar和view之间出现间隙?

标签 ios xamarin storyboard uikit uinavigationbar

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

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

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

两个 View Controller 都为其属性设置了相同的值,以模态方式呈现,并且对其 subview 具有相同的约束(与 super View /边距/顶部布局指南的间距为 0)。

即使使用 iOS 13 SDK 构建,此问题在 iOS 12 中也不会发生。这是 iOS 13(beta 8)中的已知问题,还是我们应该在代码/ Storyboard中调整一些内容?

最佳答案

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

我们在 here 附近找到了这项工作它对我们有用。

关于ios - iOS 13中如何防止uinavigationbar和view之间出现间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57784596/

相关文章:

ios - UIImageView 中的图像粘在 UIImage 空间的底部

ios - 如何检查 Swift 中的 3 个字符串是否相等?

c# - 为选择器中的项目添加键值

c# - 在绑定(bind)到 ListView 之前修改 ViewModel 的属性

uitabbarcontroller - 使用 Storyboards Get TabBar Reference for UIActionSheet showFromTabBar

ios - dispatch_queue 名称和线程

xamarin - NumberOfTapsRequired 不适用于 > 2

ios - 如何去除 iOS App 上的黑条 WebView?

ios - 为什么我在 Storyboard (Xcode) 中所做的更改没有反射(reflect)在我的应用程序上?

ios - 从 NSDecimalNumber 中删除负号 (-) 给我一个错误