【问题标题】:How to keep navigation bar from disappearing with MSMessagesViewController -> UIContainerView -> UINavigationController -> UITableViewController?如何防止导航栏随着 MSMessagesViewController -> UIContainerView -> UINavigationController -> UITableViewController 消失?
【发布时间】:2016-11-20 10:29:12
【问题描述】:

我正在尝试在 iMessage 应用程序 (iOS 10) 中放置一个带有表格视图控制器的导航控制器。当我将UINavigationController 放在UIContainerView 中时,这似乎起作用了MSMessagesViewController

但是,这在展开视图时会中断。控制器的UINavigationBar消失了。

我该如何解决这个问题,还是我采取了错误的方法?

【问题讨论】:

    标签: ios uinavigationcontroller uicontainerview ios10 imessage


    【解决方案1】:

    让我先假设您使用view.addSubview 将您的UITableViewController 添加到MSMessagesAppViewController

    为了正确显示导航栏。确保您已正确设置所有约束。这是我的示例,希望这对您有用:

    // 嵌入新的控制器。 WWDC 中展示的 VC 推荐方式(冰淇淋示例)。丑陋但有效 addChildViewController(控制器) view.addSubview(controller.view) 让 viewRect = view.bounds 控制器.view.frame = viewRect controller.view.translatesAutoresizingMaskIntoConstraints = false controller.view.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true controller.view.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true controller.view.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor).isActive = true 如果presentationStyle == .compact { controller.view.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true } 别的 { controller.view.bottomAnchor.constraint(equalTo: bottomLayoutGuide.topAnchor).isActive = true } controller.didMove(toParentViewController: self)

    这是苹果开发者论坛上解决我问题的帖子的链接:https://forums.developer.apple.com/thread/52049

    【讨论】:

      【解决方案2】:

      在您显示的屏幕中,导航栏没有任何问题!

      【讨论】:

      • 是的,有。在第二个屏幕截图中,“项目”的导航栏消失了。
      【解决方案3】:

      所以在我的例子中,我使用的是 Storyboard,所以我将添加 Storyboard 解决方案。

      类似于 DLee 的回答,顶部约束需要设置为“顶部布局指南”而不是“顶部”。这是它在 Storyboard 中的样子:

      在我的例子中,我使用 Container View 来保存所有内容,因此将顶部布局指南设置为顶部约束,它使所有内容都在正确的位置。

      在我的帖子中,我最初使用了导致 iMessage 应用程序的某些部分(特别是导航栏)消失的“顶部”。

      【讨论】:

        猜你喜欢
        • 2016-05-04
        • 2016-04-10
        • 2021-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多