IOS通过view获取view所在的viewcontroller

首先介绍下响应链:事件有触摸事件,滑动事件,远程控制事件等。当屏幕上发生了触摸事件,最先响应的是最外层的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;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容