iOS 之 ExclusiveTouch
2016-12-29 本文已影响1007人
Counting_S
今天偶尔看到了一个之前没注意过的UIView
的属性exclusiveTouch
,在这里记录一下。
文档中对这个属性的解释:
A Boolean value that indicates whether the receiver handles touch events exclusively.
Setting this property to YES causes the receiver to block the delivery of touch events to other views in the same window. The default value of this property is NO.
这个属性主要是解决多个控件同时响应事件的问题,将exclusiveTouch
设置为YES
的话可以阻止同一个window
中其他控件与他响应,默认为NO
。
举个例子:页面中有按钮ButtonA 和 ButtonB,点击ButtonA会push该页面,点击ButtonB则会pop该页面,如果同时点击这个按钮的话页面就会连续出现pop和push的效果。如果设置了exclusiveTouch
为YES
的话则可以避免发生这种事情。
可以使用 appearance
在APPDelegate中对UIView进行统一的设置。
[[UIView appearance] setExclusiveTouch:YES];