您的位置:首页 > 移动开发 > IOS开发

iOS响应事件传递 多层View上寻找ViewController响应事件 nextResponder

2017-05-16 10:38 316 查看
在很多时候,我们自定义了很多层视图放在ViewController上,当我们在最上面的那层视图上需要触发ViewContoller来执行个弹窗事件或者其他事件时候,有很多方法可以来实现,block,代理等都可以实现这个。不过有个系统提供了一有个自带的方法我们可以用起来。

self.nextResponder:寻找下一个事件响应者

不管多少层View,都可以用以下办法

id vc = self.nextResponder;
for (int i = 0; i < 10; i ++) {
vc = [vc nextResponder];
if ([vc isKindOfClass:[UIViewController class]]) {
break;
}
}
UIViewController *ViewC = (UIViewController *)vc;
//这个ViewC就可以拿来执行响应弹窗、push,和模态推出的这些方法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: