首页 > 代码库 > iOS中防止两个按钮同时点击的方法

iOS中防止两个按钮同时点击的方法

在iOS开发中通常会遇到,两个靠的很近的按钮,一不小心两个按钮同时点击了。

神奇的bug就产生了,如果两个按钮事件都是跳转页面的话,就会出现连跳两个页面的情况。

通常解决此问题的方法是:定义一个BaseViewController。

设置一个方法setExclusiveTouchForButtons:(UIView *)myView

-(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];

           }

     }

}

然后在viewDidDisappear中调用次方法。

- (void)viewDidDisappear:(BOOL)animated

{

      [self setExclusiveTouchForButtons:self.view];

}

所有ViewController都继承这个BaseViewController就行了   或者使用运行时重写viewDidDisappear也可

iOS中防止两个按钮同时点击的方法