swift UIview 获取viewcontroller
要在Swift中获取UIViewController,您可以使用以下方法之一:
- 使用UIViewController的属性
parent:如果您的UIView是直接添加到UIViewController的视图层次结构中,则可以使用view.superview?.next as? UIViewController来获取其父视图控制器。
if let viewController = view.superview?.next as? UIViewController {
// 使用viewController进行操作
}
- 使用UIView的属性
window:如果您的UIView是添加到UIWindow的根视图控制器的视图层次结构中,则可以使用view.window?.rootViewController来获取根视图控制器。
if let viewController = view.window?.rootViewController {
// 使用viewController进行操作
}
- 使用UIView的属性
next:如果您的UIView是添加到其他UIView的视图层次结构中,则可以使用view.next来获取下一个响应者,然后检查其是否是UIViewController。
var nextResponder = view.next
while nextResponder != nil && !(nextResponder is UIViewController) {
nextResponder = nextResponder?.next
}
if let viewController = nextResponder as? UIViewController {
// 使用viewController进行操作
}
请根据您的具体情况选择合适的方法来获取UIViewController
原文地址: http://www.cveoy.top/t/topic/iOck 著作权归作者所有。请勿转载和采集!