1. 需求来源
实际开发中,我们经常会遇到多滚动视图的嵌套逻辑。
为了解决这一问题,不论使用哪种方法,都不可避免的会需要通过控制上级手势,来动态调整相关视图相对位置,及其内视图逻辑
其中最重要的代理方法,便是
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
该代理方法,直接影响了手势是否互斥,简单来说
就是“一个连贯的手势操作,是否能跨组件被响应”
2.遇到的问题
使用UITableView等二级封装组件是,手势的代理会根据UITableView的delegate,同时绑定到目标类,可以直接使用或修改手势代理方法。
但是UIScrollView是不可以的。
UISrollView 的
panGestureRecognizer.delegate 是他本身,且这是个只读属性,是不允许被修改的
3.解决办法
新建相关UIScrollView的类目,在.m文件中,重写相关的代理方法,来实现控制和修改
BY: Chu