问题:当我同时点击两个按钮时,我的应用程序挂起了。我的按钮是
Notification center label http://imageshack.com/a/img59/676/ob8s.png
如何解决这个问题。有一种方法可以优先考虑这些按钮。
感谢。
答案 0 :(得分:5)
如果您只想将触控限制为一个按钮,请使用
[myButton setExclusiveTouch:YES];
答案 1 :(得分:1)
使用执行选择器延迟。假设您为两个按钮单击调用btnClicked:方法。
-(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
}
}
答案 2 :(得分:1)
iOS应首先调用一个IBAction方法,然后调用下一个。
添加“actionInProgress”实例变量。
当用户点击按钮时,检查它是否==是。如果是,请忽略按下按钮。然后继续处理按钮操作,并在完成后设置actionInProgress = FALSE。
或者在每个IBAction方法中,您可以将另一个按钮的禁用标志设置为YES,以防止第二个按钮单击。