我正在创建一个 iMessage 扩展,我想在其中使用UINavigationController
. 我正在尝试将导航控制器添加为MSMessagesAppViewController
使用以下功能的子视图:
private func present(viewController: UIViewController) {
viewController.view.frame = view.frame
addChildViewController(viewController)
viewController.didMove(toParentViewController: self)
view.addSubview(viewController.view)
}
我期待导航控制器以传统方式显示,其导航栏从 iMessage 本身的顶部栏下方开始。请参阅下图了解我的预期结果:
但是,它似乎view.frame
实际上延伸到 iMessage 顶栏下方。因此,我的导航控制器的导航栏隐藏在 iMessage 的顶部栏下方。然而,滚动视图本身的内容视图被正确定位,无需进一步定制。实际效果请看下图:
显然,我可以将导航控制器的框架设置为在顶栏下方开始。但是,我正在寻找不太依赖硬编码位置的解决方案。如果这样做,滚动视图也不会在 iMessage 顶部栏下方继续以获得半透明效果。
理想情况下,导航栏将显示在 iMessage 顶部栏的正下方,就像默认情况下滚动视图一样。
有谁知道解决这个问题?