iOS 13新页面表/表单表导航栏高度

时间:2019-10-09 03:10:10

标签: ios xcode

从下面的图片中可以看到,与Xcode 11(全屏高度)(44高度)相比,使用XCode 11构建的iOS 13导航栏的新演示风格具有不同的高度(56高度)。

这里的问题是我的应用使用的是自定义的书面导航栏,而自定义导航栏的高度是使用 UINavigationController.navigationBar.frame.height,默认值为44。我们正在尝试采用新的演示样式,但是我想不出一种解决方法。我想我也没有涵盖大标题导航栏和紧凑型导航栏之类的情况。任何帮助将不胜感激。

积分:https://medium.com/@hacknicity/view-controller-presentation-changes-in-ios-13-ac8c901ebc4e

enter image description here 2)presentationStyle .pageSheet

中导航栏高度为56的图像

enter image description here 3)图像的NavigationBar高度为PresentationStyle .fullScreen

的44

1 个答案:

答案 0 :(得分:1)

这似乎是iOS中的错误,我使用了this workaround,但我在viewDidLoad中而不是在viewWillAppear中调用它,因为后者仅在视图之后才应用此修复程序控制器动画结束。

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