在iOS中限制事件传递

1 限制事件递交给单个视图

有时候一个页面可能有多个控件,比如tableview的一个cell里面有多个button,如果同时用2个手指点击图片,很可能2个button都会响应,而这个不是我们想要的。视图的 exclusiveTouch 属性就能帮到我们。
如果你把这个属性设置为 YES ,你标记这个视图以便当它跟踪触摸 时,它是当前窗口中唯一可以跟踪触摸的视图。窗口中的其它视图将不能接收触摸事件。

2 限制事件递交给子视图

一个自定义 UIView 类可以 重写 hitTest:withEvent: 来限制多点触摸事件递交给它的子视 图。

3 关闭触摸事件的递交

缺省情况下,视图接收触摸事件,但 是你可以设置它的 userInteractionEnabled 属性为NO 来关闭事件提交。视图在隐藏或透明 时也不会接收事件。

相关文章
1)http://www.ruanyifeng.com/docs/pg/
2)http://dbanotes.net/review/hackers_and_painters.html

Ted /
Published under (CC) BY-NC-SA in categories programming  tagged with iOS 

comments powered by Disqus