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

Ios 如何取消所有正在进行的触摸操作?,ios,Ios,我面临的情况是,我有两个按钮,点击时显示不同的视图控制器 问题是,如果我按下并按住“按钮1”,然后按下并释放“按钮2”,然后释放“按钮1”,两个按钮动作都会执行。(在本例中,显示视图控制器) 因此,我认为最简单的解决方案是在我展示视图控制器时在同一位置调用某个东西,该控制器将“取消所有操作中的触摸,或所有用户交互”,这样当按下的按钮被释放时,它就不会将其注册为新事件 iOS中是否有一种方法用于“中断”所有正在进行的触摸?给你, 这将使一次只能单击一个按钮 for (UIView * button

我面临的情况是,我有两个按钮,点击时显示不同的视图控制器

问题是,如果我按下并按住“按钮1”,然后按下并释放“按钮2”,然后释放“按钮1”,两个按钮动作都会执行。(在本例中,显示视图控制器)

因此,我认为最简单的解决方案是在我展示视图控制器时在同一位置调用某个东西,该控制器将“取消所有操作中的触摸,或所有用户交互”,这样当按下的按钮被释放时,它就不会将其注册为新事件

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

给你, 这将使一次只能单击一个按钮

for (UIView * button in [self.view subviews]) {
    if([button isKindOfClass:[UIButton class]])
        [((UIButton *)button) setExclusiveTouch:YES];
}
更好的解决方案是为
ui按钮创建一个类别,并在其中设置此代码:

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

我想,通过查看响应链,您将得到一些帮助@奇奎斯:当检测到第一次点击按钮时,为什么不阻止包含两个按钮的视图的用户交互:)这样只能点击一个按钮,一旦按钮释放/按钮的预期操作完成,重新启用用户交互:)谢谢,这正是我需要的。