2012-09-06 154 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 
}