Ios 同时单击两个按钮时应用程序挂起

Ios 同时单击两个按钮时应用程序挂起,ios,objective-c,Ios,Objective C,问题:当我同时单击两个按钮时,我的应用程序挂起。我的纽扣是 如何解决这个问题。有一种方法可以为这些按钮赋予优先级 谢谢。延迟使用执行选择器。假设您正在为两个按钮单击调用btnClicked:method -(void) btnClicked:(id) btn { [NSObject cancelPreviousPerformRequestsWithTarget:self] [self performSelector:@selector(executeOperation:) withO

问题:当我同时单击两个按钮时,我的应用程序挂起。我的纽扣是

如何解决这个问题。有一种方法可以为这些按钮赋予优先级


谢谢。

延迟使用执行选择器。假设您正在为两个按钮单击调用btnClicked:method

-(void) btnClicked:(id) btn {

  [NSObject cancelPreviousPerformRequestsWithTarget:self]
  [self performSelector:@selector(executeOperation:) withObject:nil afterDelay:0.05];

}

-(void) executeOperation:(id) btn {

    if(btn == btn1) {
    //operation 1
    }
    else {
    //operation 2
    }

}

iOS应该先调用一个iAction方法,然后调用下一个

添加一个“actionInProgress”实例变量

当用户点击一个按钮时,检查它是否为==是。如果是,则忽略按钮按下。然后继续处理按钮操作,完成后将actionInProgress设置为FALSE


或者,在每个iAction方法中,您可以将另一个按钮的禁用标志设置为“是”,以防止第二个按钮单击

如果您想将触摸限制为一个按钮,请使用

[myButton setExclusiveTouch:YES];

我们可以获取附加到这些按钮的代码/操作吗?您可以显示这些按钮的一些代码吗?只是一个小小的更正,
setExclusiveTouch:
是实例上属性的setter方法,而不是类方法。它的用法是
[btnObj setExclusiveTouch:YES]