Swift版本
func nextResponsder(currentView:UIView)->UIViewController{
var vc:UIResponder= currentView
while vc.isKind(of:UIViewController.self) !=true{
vc = vc.next!
}
return vc as! UIViewController
}
OC版本
- (UIViewController *)getControllerFromView:(UIView *)view {
// 遍历响应者链。返回第一个找到视图控制器
UIResponder *responder = view;
while ((responder = [responder nextResponder])){
if ([responder isKindOfClass: [UIViewController class]]){
return (UIViewController *)responder;
}
}
// 如果没有找到则返回nil
return nil;
}