从嵌入式子 UIViewController 中获取父级 ViewController
Get Parent ViewController from within embedded child UIViewController
如何使用容器视图从嵌入其中的控制器中获取对父 UIViewController 的引用?
我想从 Child 中访问 Parent。
当您在容器视图中添加视图控制器时,它被添加为子视图控制器
您可以通过以下方式访问它
if let yourVC:YourViewController = self.childViewControllers.first(where: {[=10=] is yourVC:YourViewController}) as? YourViewController {
// Here you got it
}
您可以使用 parent
属性 of viewController
访问父级
if let parent = self.navigationController?.parent as? ParentControllerType {
// Do what you want with the parent.
}
看到这个https://developer.apple.com/documentation/uikit/uiviewcontroller/1621362-parent
希望对您有所帮助
有一个简短而有趣的方法:在层次结构中向上,直到获得“真正的”父级,功能方式:
extension UIViewController {
var trueParent: UIViewController {
parent?.trueParent ?? self
}
}
如何使用容器视图从嵌入其中的控制器中获取对父 UIViewController 的引用?
我想从 Child 中访问 Parent。
当您在容器视图中添加视图控制器时,它被添加为子视图控制器
您可以通过以下方式访问它
if let yourVC:YourViewController = self.childViewControllers.first(where: {[=10=] is yourVC:YourViewController}) as? YourViewController {
// Here you got it
}
您可以使用 parent
属性 of viewController
if let parent = self.navigationController?.parent as? ParentControllerType {
// Do what you want with the parent.
}
看到这个https://developer.apple.com/documentation/uikit/uiviewcontroller/1621362-parent
希望对您有所帮助
有一个简短而有趣的方法:在层次结构中向上,直到获得“真正的”父级,功能方式:
extension UIViewController {
var trueParent: UIViewController {
parent?.trueParent ?? self
}
}