iOS Swift:如何关闭使用“Show Detail”呈现的视图控制器

4
我有一个视图控制器,嵌入在导航控制器中。我使用storyboard中的“show detail”来显示它。如何关闭此视图控制器或返回到上一个视图控制器?
我知道使用“Show Detail”时自动提供返回功能,但我需要将其嵌入到导航控制器中,这不允许返回功能,因此我需要放置一个“取消”工具栏按钮,但它不起作用。我尝试了以下方法,但都没有成功:
    dismiss(animated: true, completion: nil)
navigationController?.popViewController(animated: true)
self.presentingViewController?.dismiss(animated: true, completion: nil)

所以你正在使用分割视图控制器?那在iPad上会发生什么呢?在iPad上,你不能隐藏详细视图,对吗? - Sweeper
是的,我在iPad上理解它不应该被解除,但同样的应用程序也应该在iPhone上按预期运行。 - fullmoon
1
你尝试过取消连线(segue)吗? - Sweeper
是的,它起作用了!我考虑过这个问题,但想看看是否有方法可以解除此视图控制器。我认为这是正确的方法,你可以将其添加为答案,以便我接受它。谢谢。 - fullmoon
1个回答

2

您可以从详细控制器向主控制器添加一个取消转场的过渡。

在您的主控制器中,添加一个处理取消操作的方法:

@IBAction func unwindFromDetail(segue: UIStoryboardSegue) {

}

然后在故事板中,从详细控制器向主控制器的“Exit”处进行拖动控制,并选择上述方法。

给过渡起一个标识符并执行它!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接