2012-09-06 112 views
2

我想设计一个应用程序的界面,我只想让用户按一次UIButton来获得结果。按下按钮后,有什么办法可以锁定按钮吗?只有当另一个按钮被按下时才释放锁?只允许用户按一次UIButton

谢谢

+0

possi ble副本:http://stackoverflow.com/questions/6210850/how-do-i-disable-a-uibutton – pdriegen

回答

10

您可以设置按钮一旦点击被禁用新

Button *disabledButton; 
- (IBAction)clicked:(id)sender {   
    if (disabledButton) 
    disabledButton.enabled = YES; 

    disabledButton = ((UIButton *)sender); 
    disabledButton.enabled = NO; 
} 
2

当然可以。只需使用UIButton的属性enabled即可。当用户按下它时,将启用设置为NO:[myButton setEnabled:NO];,并在需要稍后再次启用时设置YES

1

当您调用按钮的选择器方法时,只需禁用Uibutton即可。 如[A按钮的setEnabled:FALSE],和当用户点击另一个按钮重新启用的第一个和禁用如在第二个[bButton的setEnabled:假]和[A按钮的setEnabled:真],

希望它帮助。

- (IBAction)clicked:(id)sender { 
    //See all buttons enabled 
    //Try a loop or manually 

    ((UIButton *)sender).enabled = NO; 
} 
0

您必须在下按第一按下的按钮参考..你可以使老的一个,并禁用:

1

这是詹姆斯Paolantonio的回答对斯威夫特3更新版本

@IBAction func clicked(_ sender: Any) { 
    //See all buttons enabled 
    //Try a loop or manually 
    (sender)?.isEnabled = false 
}