【发布时间】:2018-10-21 12:43:18
【问题描述】:
如何使用容器视图从嵌入其中的控制器中获取对父 UIViewController 的引用?
我想从 Child 中访问 Parent。
【问题讨论】:
标签: ios uiviewcontroller uikit uicontainerview
如何使用容器视图从嵌入其中的控制器中获取对父 UIViewController 的引用?
我想从 Child 中访问 Parent。
【问题讨论】:
标签: ios uiviewcontroller uikit uicontainerview
当你在容器视图中添加视图控制器时,它被添加为子视图控制器
您可以像以下方式访问孩子
if let yourVC:YourViewController = self.childViewControllers.first(where: {$0 is yourVC:YourViewController}) as? YourViewController {
// Here you got it
}
您可以使用 viewController 的 parent 属性访问 Parent
if let parent = self.navigationController?.parent as? ParentControllerType {
// Do what you want with the parent.
}
看到这个https://developer.apple.com/documentation/uikit/uiviewcontroller/1621362-parent
希望对你有帮助
【讨论】:
if let 检查您的父母,这是一个好习惯。 :)
有一个简短而甜蜜的方法:向上层级,直到获得“真正的”父级,即功能性方式:
extension UIViewController {
var trueParent: UIViewController {
parent?.trueParent ?? self
}
}
【讨论】: