iMessage应用程序提供的视图控制器被iMessage顶部栏覆盖,与父项不同

时间:2017-04-18 18:04:12

标签: ios swift imessage imessage-extension

我注意到将工具栏放在iMessage栏下是很困难的,因为衍生的视图控制器似乎开始在顶部iMessage栏所占据的空间中绘制。使用64位顶部的固定距离不起作用,因为iPhone 5s的iMessage条高度为44像素。

然后我意识到这只是在呈现视图控制器时的问题,并且第一个视图控制器或根视图控制器实际上开始在iMessage顶部栏下面呈现。我想知道是否有任何一种方法来检测高度,或者是否有办法使衍生的视图控制器应用类似的布局作为iMessage应用程序的根控制器。

这是一些显示问题的screeshots。请注意工具栏和顶栏之间的小差距。这是因为iPhone 5s的iMessage顶部高度较短。

iPhone 5S显示差距

5s device with gap between top bar and nav bar

6s /更大设备上的工具栏和顶栏之间没有差距:

6s device with no gap between top bar and nav bar

我编写了一个示例应用程序,以显示生成的视图控制器开始在与iMessage顶栏相同的位置绘制。

具有<的初始/父视图控制器顶部约束的10个像素。

Sample app showing that parent controller begins rendering below imessage top bar

有<的孩子粉色按钮上有10个像素的顶部约束。

Sample app showing that spawned View controllers begins rendering at the same location as imessage top bar

示例故事板的屏幕截图。

Storyboard showing VCs are similar distance from top

1 个答案:

答案 0 :(得分:0)

今天我遇到了几乎相同的问题,我从深层链接呈现ViewController并弹出一些导航栏.. :)

要解决此问题,我在ViewController中嵌入了NavigationController,并在viewWillAppear中隐藏了导航栏。

self.navigationController?.setNavigationBarHidden(true, animated: true)

希望这会有所帮助 祝你一切顺利。