你如何取消正在进行的所有触摸操作?

时间:2017-03-14 06:11:58

标签: ios

我正面临着这样一种情况:我有2个按钮,在点按时显示不同的视图控制器。

问题是,如果我按住“按钮1”然后按下并释放“按钮2”然后释放“按钮1”,则执行两个按钮动作。 (在这种情况下呈现视图控制器)

所以我认为最简单的解决方案就是在我呈现我的视图控制器的同一个地方调用一些东西,它将“取消所有操作中的触摸,或者所有用户交互”,这样当按下按钮时down是释放它不会将其注册为新事件。

iOS中是否有一种用于“中断”正在进行的所有触摸的方法?

1 个答案:

答案 0 :(得分:2)

你走了, 这样一次只能点击一个按钮

for (UIView * button in [self.view subviews]) {
    if([button isKindOfClass:[UIButton class]])
        [((UIButton *)button) setExclusiveTouch:YES];
}

更好解决方案是为UIButton制作类别并在其中设置此代码:

- (void)awakeFromNib
{
    [super awakeFromNib];
    [self setExclusiveTouch:YES];
}