在iOS中,可以通过以下方法获取子view的viewcontroller:

  1. 如果子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
    }
}
  1. 如果子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

iOS 子view子view 获取viewcontroller

原文地址: https://www.cveoy.top/t/topic/iVsS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录