Swift 2.3 到 Swift 3.1 迁移 - StatusBar 下的 EZSwipeViewController

Swift 2.3 to Swift 3.1 Migration - EZSwipeViewController beneath StatusBar

我正在将我的 Swift2.3 项目迁移到 Swift3.1。作为其中的一部分,我在使用滑动控制器时遇到了麻烦 - 'ezswipeviewcontroller'。

我正在使用 Xcode8.3,并在 iOS10.3.2 device/simulator.

上进行测试

转换前,ViewController(带 navigatioBar)正确显示在状态栏下方,但转换后 ViewController(带 navigatioBar)显示在状态栏下方。

我查看了 SO 解决方案并了解到下面的方法可行,但在我的情况下不起作用:-|

edgesForExtendedLayout = []    
extendedLayoutIncludesOpaqueBars = false    
automaticallyAdjustsScrollViewInsets = false

下面是截图供参考-

为您的视图提供对其父视图的布局顶部约束(在情节提要中或使用代码),让它相对于边距。它现在将在状态栏下启动。您可能还必须添加前导、尾随和底部约束,以避免扰乱自动布局。

我通过将 EZSwipeViewController 的导航栏高度从 44 设置为 64 来解决这个问题。

public static let navigationBarHeight: CGFloat = 64

现在一切都很完美! :-)