iOS响应事件传递 多层View上寻找ViewController响应事件 nextResponder
2017-05-16 10:38
316 查看
在很多时候,我们自定义了很多层视图放在ViewController上,当我们在最上面的那层视图上需要触发ViewContoller来执行个弹窗事件或者其他事件时候,有很多方法可以来实现,block,代理等都可以实现这个。不过有个系统提供了一有个自带的方法我们可以用起来。
self.nextResponder:寻找下一个事件响应者
不管多少层View,都可以用以下办法
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,和模态推出的这些方法了。
相关文章推荐
- iOS 之控制器view显示中view的父子关系及controller的父子关系_解决屏幕旋转不能传递事件问题
- <iOS>响应事件传递, nextResponder研究
- 猫猫学iOS 之控制器view显示中view的父子关系及controller的父子关系_解决屏幕旋转不能传递事件问题
- AJ学IOS 之控制器view显示中view的父子关系及controller的父子关系_解决屏幕旋转不能传递事件问题
- IOS 响应事件传递nextResponder
- 在Layout响应点击事件但不传递给内部的childView
- <iOS>响应事件传递, nextResponder研究
- IOS下viewcontroller之间传递数据
- ios tableView那些事 (七) 给tableView添加响应事件
- ios UIScrollView不能响应TouchesBegin:的事件的解决办法
- ios UIImageView响应点击事件
- ios tableView那些事 (七) 给tableView添加响应事件
- <iOS>响应事件传递, nextResponder研究
- ios不响应presentModalViewController界面的处理
- iOS中UIAlertView的点击响应事件
- ios tableView那些事 (七) 给tableView添加响应事件
- 代码创建UIWindow -> UIView -> RootViewController中遇到UIview覆盖,控件事件不响应问题
- 同时响应iOS开发中UIPanGestureRecognizer跟UITableView的拖动事件的解决方法
- [IOS]UIScrollView响应UITouch事件
- 从一个view中获取到它的ViewController (事件响应机制,层层传递事件)