【问题标题】:iOS Swift: Dismiss View Controller That Was Presented Using "Show Detail"iOS Swift:关闭使用“显示详细信息”呈现的视图控制器
【发布时间】:2018-07-21 20:13:33
【问题描述】:

我有一个嵌入在导航控制器中的视图控制器。我在情节提要中使用显示细节来显示它。我将如何关闭此视图控制器或返回上一个?

我知道使用“显示详细信息”时会自动出现返回功能,但我需要将此功能嵌入到导航控制器中,这不允许返回功能,所以我需要放置一个“取消”栏按钮,但它是不工作。我尝试了这些方法,但没有奏效:

    dismiss(animated: true, completion: nil)
navigationController?.popViewController(animated: true)
self.presentingViewController?.dismiss(animated: true, completion: nil)

【问题讨论】:

  • 所以您使用的是拆分视图控制器?比如说,iPad会发生什么?在 iPad 上,您不能隐藏详细视图吗?
  • 是的,我在 iPad 上不被解雇是有道理的,但同样的应用程序也应该在 iPhone 上以预期的行为运行。
  • 你试过放松转场吗?
  • 是的,它成功了!我想了想,但想看看是否有办法关闭这个视图控制器。我认为这是正确的方法,您可以将其添加为答案,因此我接受。谢谢。

标签: swift uiviewcontroller uinavigationcontroller


【解决方案1】:

您可以从细节控制器向主控制器添加展开转场。

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

@IBAction func unwindFromDetail(segue: UIStoryboardSegue) {

}

然后在storyboard中,控制从detail controller拖拽到master controller的“Exit”,然后选择上面的方法。

给segue一个标识符并执行它!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    相关资源
    最近更新 更多