iOS setExclusiveTouch 事件排他性

偶然看到公司老项目有个递归方法:如下

递归设置 exclusive

查了一下,就是设置事件排他性,也就是同一时间只会相应一个事件,这是UIView封装的方法。看到才发现解决了很多问题,譬如,点击跳转,如果测试快速点击同一按钮,就是导致多次push同一控制器,还有很多场景。

既然看到了,就查了下资料,可以在appDelegate中,一次性设置

[[UIButton appearance] setExclusiveTouch:YES];

有个博客说,这样设置在 iOS 8-8.2上会崩溃。

[[UIView appearance] setExclusiveTouch:YES];

也有说直接设置 UIView为Yes,我还没经过测试,毕竟8系统现在也不好找,一会下个模拟器试试。先写出来,后续我会更新对这个属性的延伸。

我们这个项目中,是在BaseViewController中 将self.View 遍历,将所有子控件中Button设置为Yes。然后将子控件View再进行遍历,也就是一个递归设置。先写到这。

你可能感兴趣的:(iOS setExclusiveTouch 事件排他性)