我注意到在iMessage栏下定位工具栏很困难,因为派生的视图控制器似乎开始在顶部iMessage栏所在的空间中绘制。使用与64像素顶部的固定距离是行不通的,因为iPhone 5s的iMessageBar44像素高。
然后我意识到,这只是呈现视图控制器时的一个问题,第一个视图控制器或根视图控制器实际上开始在iMessage顶部栏下面呈现。我想知道是否有两种方法可以检测高度,或者是否有方法可以使派生的视图控制器应用类似于iMessage应用程序的根控制器的布局。
这是一些显示问题的图片。注意工具栏和顶部栏之间的小间隙。这是因为iPhone 5s的iMessage顶部栏高较短。
iPhone 5S显示差距
6s/更大设备上的工具栏和顶部栏之间没有间隙:
我编写了一个示例应用程序,以显示生成的视图控制器开始绘制在与iMessage顶部栏相同的位置。
具有粉色按钮顶部约束小于10像素的子级。
样板故事板截图。

最佳答案

今天我遇到了几乎相同的问题,我展示了来自deeplink的ViewController和一些弹出的导航栏。。:)
为了解决这个问题,我在ViewController中嵌入了NavigationController,并在viewwill中隐藏了导航栏。
self.navigationController?.setNavigationBarHidden(true, animated: true)
希望这会有帮助。
祝你一切顺利。

10-08 16:41