为UIButton设置ExclusiveTouch属性

ExclusiveTouch的作用是:可以达到同一界面上多个控件接受事件时的排他性,从而避免bug。也就是说避免在一个界面上同时点击多个UIButton导致同时响应多个方法。

全局设置时可在AppDelegate启动应用时添加

  [[UIButton appearance] setExclusiveTouch:YES];

单个UIView内设置所有UIButton 的ExclusiveTouch属性时可用

 - (void)setExclusiveTouchForButtons:(UIView *)myView {

      for (UIView * v in [myView subviews]) {

            if([v isKindOfClass:[UIButton class]]) {

                  [((UIButton *)v) setExclusiveTouch:YES];

             }
             else if ([v isKindOfClass:[UIView class]]) {
                   [self setExclusiveTouchForButtons:v];
              }
       }
 }

注意:exclusiveTouch是UIView的属性,默认是NO;xcode9中API如下:

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

推荐阅读更多精彩内容