【问题标题】:iOS8 UISplitViewController: How to switch to master view in compact width window?iOS8 UISplitViewController:如何在紧凑宽度窗口中切换到主视图?
【发布时间】:2014-12-18 06:13:21
【问题描述】:

我的根视图控制器是一个 UISplitViewController,它有一个 UITableViewController 作为主视图控制器。在 iPhone 上(紧凑宽度),它看起来像 UINavigationController。

点击一个单元格以显示详细视图控制器

点击垃圾桶按钮将删除当前笔记。我的问题是之后如何返回主视图?由于它是一个 UISplitViewController,它不能像 UINavigationController 那样弹出当前的视图控制器。

【问题讨论】:

    标签: ios8 uisplitviewcontroller size-classes popviewcontrolleranimated


    【解决方案1】:

    我遇到了类似的问题,终于找到了解决方案。据我了解,当宽度紧凑时,细节导航控制器成为主导航控制器的视图控制器。所以你所要做的就是:

    1. 通过检查拆分视图控制器的折叠属性来确定是否只有一个视图存在。如果它没有折叠(例如在 iPad 上),除了详细视图之外,您已经显示了表格视图。

    2. 如果它是折叠的(例如在 iPhone 上),则通过详细导航控制器获取对主导航控制器的引用,并将其弹出到其根视图控制器,在本例中为您的表视图控制器。

    这是我在详细视图控制器中使用的代码。在您的情况下,我认为您只需将此代码添加到详细视图控制器中的按钮操作中:

    if splitViewController!.collapsed {
        let detailNavController = parentViewController as UINavigationController!
        let masterNavController = detailNavController.parentViewController as UINavigationController!
        masterNavController.popToRootViewControllerAnimated(true)
    }
    

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      相关资源
      最近更新 更多