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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中防止两个按钮同时点击的方法的主要内容,如果未能解决你的问题,请参考以下文章

iOS之防止用户重复点击Button(按钮)问题

iOS-UIButton防止重复点击(三种办法)

IOS - 如何防止后台按钮被点击?

iOS:防止通过禁用的工具栏按钮点击

防止在不同设备上同时点击一个按钮

修复 iOS 中的多个按钮单击事件?