使用拆分视图时如何关闭细节视图

时间:2019-04-07 03:10:04

标签: ios swift uinavigationcontroller

我想在按下取消按钮时关闭我的DetailViewController的视图。

当我只有两个视图控制器时,例如Master和Detail,我可以按如下方式关闭局部视图:

unit

当使用在其下具有详细信息和主视图的拆分视图控制器时,此方法不起作用。例如,在iPhone的纵向视图中,我只是希望在单击“取消”按钮时关闭详细视图。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

UINavigationController水平尺寸类别的情况下,使用UISplitViewControllershowDetailViewController的细节上添加.compact时。它将UINavigationController推送到母版UINavigationController上,因此,当您要取消详细信息UINavigationController时,需要向母版UINavigationController发送消息。像下面这样的东西应该起作用。

@IBAction func pressedCancel(_ sender: UIBarButtonItem) {
    let navC = navigationController?.navigationController
    navC?.popViewController(animated: true)
}

在这里,我们检查导航控制器是否具有导航控制器,并要求其弹出其最上方的视图控制器。