iOS 子view子view 获取viewcontroller
在iOS中,可以通过以下方法获取子view的viewcontroller:
- 如果子view是直接添加到viewcontroller的view上,可以使用子view的
nextResponder属性来获取其所在的viewcontroller。例如,假设子view是一个UIView对象,可以使用以下代码获取其所在的viewcontroller:
var viewController: UIViewController? = nil
if let nextResponder = subview.nextResponder {
if let viewController = nextResponder as? UIViewController {
// 子view的viewcontroller
viewController = viewController
}
}
- 如果子view是通过segue或者storyboard加载的,可以使用以下代码获取其所在的viewcontroller:
// 假设子view是一个UIStoryboardSegue对象
if let segue = subview as? UIStoryboardSegue {
if let viewController = segue.destinationViewController {
// 子view的viewcontroller
viewController = viewController
}
}
需要注意的是,以上方法只适用于直接添加到viewcontroller的子view,如果子view是嵌套在其他view中,需要递归遍历父view的subviews来查找其所在的viewcontroller
原文地址: https://www.cveoy.top/t/topic/iVsS 著作权归作者所有。请勿转载和采集!