ios - 从第三个 ViewController 中关闭第二个 ViewController

标签 ios swift viewcontroller dismiss

我正在尝试从 VC c 中关闭 VC b,其中 VC c 是一个弹出窗口并且有一个用于注销的按钮,但它不起作用。 流的结构是

VC a ----presents modally----> VC b ----presents a popover----> VC c

单击弹出窗口中的按钮时,必须关闭 VC c 和 VC b,以便调用 (VC a)ViewWillAppear。

最佳答案

试试这个:

您可以按如下方式从 subview Controller 中关闭您的presentingViewController

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

当你添加一个 ViewController 作为 childViewController

self.parent?.dismiss(animated: true, completion: nil) 

如果此 View Controller 是包含 View Controller 的子级(例如导航 Controller 或标签栏 Controller ,)

weak open var parent: UIViewController? { get }

由此 View Controller 或其最近的祖先呈现的 View Controller 。

open var presentedViewController: UIViewController? { get }

呈现此 View Controller 的 View Controller (或其最远的祖先。)

open var presentingViewController: UIViewController? { get }

关于ios - 从第三个 ViewController 中关闭第二个 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45099153/

相关文章:

Swift 2 : parse returned Optional ("objectId") , 删除它吗?

swift - 如何使单元格具有渐变背景?

swift - 在 iOS Swift 中获取顶级 ViewController

ios - APNS开放连接的含义

ios - Swift - 在 plist 中的数组中搜索字典

php - 尝试快速解析 JSON 但无法正常工作

android - 如何在 iOS 中使用带有自定义 map 服务器的 openstreetmap,Swift 任何库?

ios - webView中的scrollView不能滚动?

swift - 在不同的 ViewController 中停止 AudioPlayer

ios - Flutter (iOS) 数字键盘小数点分隔符