首页 > 代码库 > 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中防止两个按钮同时点击的方法