首先介绍下响应链:事件有触摸事件,滑动事件,远程控制事件等。当屏幕上发生了触摸事件,最先响应的是最外层的view,然后依次传递到他的父view,然后再到ViewController,再到application。通过这个思路可以根据一个View来找到所在VC。
代码:
-(UIViewController*)viewController{
for(UIView*next =self.superview;next;next = next.superview){
UIResponder*nextResponder = [next nextResponder];
if([nextResponderisKindOfClass:[UIViewControllerclass]]){
return(UIViewController*)nextResponder;
}
}
return nil;
}
网友评论