0

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

我正在使用 Xcode8.3,并在 iOS10.3.2 设备/模拟器上进行测试。

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

我查看了 SO 解决方案并了解以下内容将起作用,但在我的情况下不起作用:-|

edgesForExtendedLayout = []    
extendedLayoutIncludesOpaqueBars = false    
automaticallyAdjustsScrollViewInsets = false

以下是供参考的屏幕截图 -

转换前截图 转换后截图

4

2 回答 2

0

给你的视图一个布局顶部约束到它的超级视图(无论是在故事板中还是在代码中),让它相对于边距。它现在将在状态栏下启动。您可能还必须添加前导、尾随和底部约束,以避免扰乱自动布局。

于 2017-07-25T12:12:00.397 回答
0

我通过将 EZSwipeViewController 的 navigationBar 的高度从 44 设置为 64 解决了这个问题。

public static let navigationBarHeight: CGFloat = 64

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

于 2017-07-26T06:15:26.700 回答