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再进行遍历,也就是一个递归设置。先写到这。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容