防止多视图同时点击

2018-04-25  本文已影响3人  _顺_1896

首先是iOS中默认是支持多触摸点同时点击的。这个特性不是游戏的特权;

多button

同一个view视图上添加多个btn时,多手指同时点击不同btn时可能会触发多次事件进而引起多页面同事进入等非预期效果。

处理方式:可以设置btn.exclusiveTouch=YES;使不同btn在同时点击时具有互斥效果,即同时只有一个btn相应点击事件;

当然为每个btn设置该属性实在太重复劳动,所以可以在appDelegate中didFinishLaunchingWithOptions中添加`[UIButton appeare].exclusiveTouch=YES;既可以一步到位用来替代这种重复劳动也可以达到相同的效果;

多view

多个view各自添加tap手势时,上述给view添加exclusiveTouch属性时无效果,妥协的方式是,在tap的代理方法中添加触发时间,判断2次点击之间的时间间隔,小于一定某个值时不处理。

如:

if(self.previousDate) {
   NSTimeIntervale ti = [[NSDate date] dateByAddingTimeInterval:self.previousDate];
    if(ti < 1) {
        return;
    }
}
self.previousDate = [NSDate date];
上一篇 下一篇

猜你喜欢

热点阅读