与父级不同,从 iMessage 应用程序呈现的视图控制器被 iMessage 顶栏覆盖
Posted
技术标签:
【中文标题】与父级不同,从 iMessage 应用程序呈现的视图控制器被 iMessage 顶栏覆盖【英文标题】:View Controller presented from iMessage Application gets covered by iMessage top bar unlike the parent 【发布时间】:2017-04-18 18:04:12 【问题描述】:我注意到在 iMessage 栏下方放置工具栏很困难,因为生成的视图控制器似乎开始在顶部 iMessage 栏所在的空间中绘制。由于 iPhone 5s 的 iMessage 条的高度为 44 像素,因此使用距 64 顶部的固定距离不起作用。
然后我意识到这只是呈现视图控制器时的一个问题,并且第一个视图控制器或根视图控制器实际上开始在 iMessage 顶部栏下方呈现。我想知道是否有任何一种方法可以检测高度,或者是否有一种方法可以使生成的视图控制器应用与 iMessage 应用程序的根控制器类似的布局。
这里有一些显示问题的截图。请注意工具栏和顶部栏之间的小间隙。这是因为 iPhone 5s 的 iMessage 顶部栏高度较短。
iPhone 5S 显示出差距
在 6s/更大的设备上工具栏和顶部栏之间没有间隙:
我编写了一个示例应用程序,以显示生成的视图控制器开始绘制在 iMessage 顶部栏所在的位置。
具有
粉红色按钮顶部约束
示例故事板的屏幕截图。
【问题讨论】:
【参考方案1】:今天我遇到了几乎同样的问题,我从 deeplink 中展示了 ViewController,然后弹出了一些导航栏 .. :)
为了解决这个问题,我在 ViewController 中嵌入了 NavigationController,并在 viewWillAppear 中隐藏了导航栏。
self.navigationController?.setNavigationBarHidden(true, animated: true)
希望这会有所帮助。 祝你一切顺利。
【讨论】:
以上是关于与父级不同,从 iMessage 应用程序呈现的视图控制器被 iMessage 顶栏覆盖的主要内容,如果未能解决你的问题,请参考以下文章