Object-C
UIViewController *vc = nil;
for (UIView* next = [self superview]; next; next = next.superview) {
UIResponder *nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]]) {
vc = (UIViewController *)nextResponder;
break;
}
}
swift
- parameter view: 当前view
- returns: view所在的viewcontroller
*/
class func viewController(_ view:UIView) -> UIViewController {
var next = view as? UIView
while next != nil {
let nextResponder = next?.next
if let nextResponder = nextResponder as? UIViewController{
return nextResponder;
}
next = next?.superview
}
return UIViewController()
}