在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就行了。
好了问题解决了~~~~~~~~
本文介绍了一个解决iOS开发中两个按钮靠得太近容易误触的问题的方法,通过定义BaseViewController并设置setExclusiveTouchForButtons方法,在viewDidDisappear中调用此方法,确保每个ViewController内的按钮具有唯一触碰特性,防止误触导致的页面跳转冲突。
3486

被折叠的 条评论
为什么被折叠?



