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;
}