ExclusiveTouch的作用是:可以达到同一界面上多个控件接受事件时的排他性,从而避免bug。也就是说避免在一个界面上同时点击多个UIButton导致同时响应多个方法。
-
(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]; } }
}
看见有人用这个来控制UIButton 的ExclusiveTouch属性,这样需要在每个控制器都要设置。可用一句话来代替这样的设置,在AppDelegate启动应用时添加 [[UIButton appearance] setExclusiveTouch:YES];
注意:下面有个同学提醒-->这个方法仅支持iOS 8.0+系统。