IOS 开发 事件截断处理
2016-05-21 12:12
288 查看
前两节接讲的在苹果原有传输顺序上进行定制自己的需求,一般而言这些就足够了,不过对于复杂的画图程序,可能要求稍微高点。
比如说我有一个scrollview A 的子view为scrollview B,我在B上滑动到一定的距离后,让A滑动,默认轻快下办不到,怎么办?
我们重写A的hitTesting方法,在里面检测B滑动的距离,然后给句距离不同返回不同的view。
[objc]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
if (self.B.contentOffset.y <= 50) {
return self;
} else {
return self.B;
}
}
如果需要更复杂的事件传播,那就得子类化window,重载sendevent,这样的话,你可以在sendevent监控每个touch event ,然后传递给指定responder,不过这个不建议使用,因为你去掌控时间的每一个过程是比较麻烦的,所以迫不得已不要这样使用
比如说我有一个scrollview A 的子view为scrollview B,我在B上滑动到一定的距离后,让A滑动,默认轻快下办不到,怎么办?
我们重写A的hitTesting方法,在里面检测B滑动的距离,然后给句距离不同返回不同的view。
[objc]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
if (self.B.contentOffset.y <= 50) {
return self;
} else {
return self.B;
}
}
如果需要更复杂的事件传播,那就得子类化window,重载sendevent,这样的话,你可以在sendevent监控每个touch event ,然后传递给指定responder,不过这个不建议使用,因为你去掌控时间的每一个过程是比较麻烦的,所以迫不得已不要这样使用
相关文章推荐
- IOS 开发 手势 及事件传递机理
- IOS 开发 手势使用
- IOS中 Block用法进阶二 局部变量和全局变量在Block中的使用
- IOS中 Block用法进阶一
- iOS static变量
- iOS开发:发布证书无法安装,不能修改"System Roots"钥匙串
- 四步搞定NiosII工程路径改变
- IOS之定位详解
- 谈谈iOS Animation
- iOS 获取当前展示的页面
- iOS 7 修改默认布局从status bar 底部开始
- iOS 崩溃分析
- samsung bios configuration怎么设置U盘启动
- Make My Ostream!
- iOS内存话题: 弱引用下的懒加载
- Missing iOS Distribution signing identity问题解决
- iOS 开启后台运行
- iOS pushcontroller时自动隐藏tabbar
- iOS 证书导出为p12,再导入其他电脑只能导入其中一个的解决方法
- iOS开发-SVN管理代码