【问题标题】:How do I push from my Master VC to a second one on the left side, before showing the Detail VC on the right?在右侧显示 Detail VC 之前,如何从我的 Master VC 推送到左侧的第二个?
【发布时间】:2015-09-18 04:32:03
【问题描述】:

我在 Xcode 7 中使用简单的 Master/Detail 拆分视图模板,并希望用户从具有主要类别的高级 Master VC 开始,然后选择一个并深入到单个项目 - 仍然在左侧- 然后当他们从第二个Master VC中选择左侧的一行时,在右侧显示详细VC。因此,我在故事板中添加了第二个主视图控制器(称为 MasterL2ViewController),它位于第一个主视图控制器和详细视图控制器之间。当应用程序最初以横向模式启动时,我看到左侧的主控制器和右侧的细节控制器。我在第一个 MasterViewController 的表格视图中填充了一些行,当用户点击一个时,它用第二个 Master VC 替换了右侧的细节控制器。该应用程序可以正常工作,没有错误,并且可以正常提取和显示数据,但是我希望第二个 Master VC 显示在左侧而不是右侧(详细信息)侧。它应该使用标准导航控制器返回主/第一个主 VC。希望我解释得很好……有人能告诉我如何让它把第二个 Master VC 推到左边而不是右边吗?谢谢。

故事板截图:

这是我的 prepareForSegue 代码。 MasterViewController 和 MasterL2ViewController 之间的 segue 称为 showLevel2。 (从那里到 Detail VC 是 showDetail。)

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "showLevel2" {
            if let indexPath = self.tableView.indexPathForSelectedRow {
            print("indexPath=\(indexPath)")
            let controller = (segue.destinationViewController as! UINavigationController).topViewController as! Level2ViewController
            controller.mainIndexPath = indexPath
            controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
            controller.navigationItem.leftItemsSupplementBackButton = true
        }
    }
}

【问题讨论】:

  • 我忘记了 Interface Builder 中的 Adaptive Segue 设置,所以将它从“显示详细信息(替换)”更改为“显示(推送)”,这让我有一部分的方式......现在它显示在左侧,但没有返回按钮可以返回到第一个 Master VC。有什么想法吗? i.imgur.com/4S8xc9T.png

标签: ios iphone xcode swift uisplitviewcontroller


【解决方案1】:

不完全清楚你希望你的应用看起来如何,但我认为你应该将其他视图控制器推到一个 MasterViewController 上而忘记第二个。不确定是否允许我包含链接,但我从本教程中学到了很多东西。阅读这些教程确实是积累知识的好方法。

http://www.raywenderlich.com/81879/storyboards-tutorial-swift-part-1

想想他们说 Iphone 的 MasterViewController。你也有很多导航控制器。 ;')

【讨论】:

  • 谢谢你...原来我有两个问题:(1)自适应 Segue 设置必须是“显示”而不是“显示细节”(2)我有那个额外的导航控制器.. .摆脱了那个,连接了Segue,它工作得很好。谢谢! i.imgur.com/uhYYj4C.png
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-17
  • 2021-11-29
  • 2019-10-24
  • 2021-01-25
  • 2021-07-13
  • 2018-07-31
  • 1970-01-01
相关资源
最近更新 更多