2016-08-30 124 views
0

我正在開發一個項目,我需要在點擊或按下按鈕後禁用UIButton按下按鈕後禁用UIButton

TIA

+0

在你的動作:@selector方法,隱藏/禁用按鈕。 – Signare

+1

你試過的東西顯示你的編碼 – user3182143

+0

Abhimanyu兄弟試試我的答案。它的工作原理是你想要的。 – user3182143

回答

0

嘗試......

-(void)buttonOnClicked:(UIButton *)sender { 
    sender.enabled = NO; 
} 

感謝

2

在您Button操作方法設置的ButtonenabledNO

- (IBAction)buttonTapped:(UIButton*)sender {  
    sender.enabled = NO; // With disabled style on button 
    //If you doesn't want disabled style on button use this. 
    sender.userInteractionEnabled = NO; 
} 
+0

它直接禁用按鈕,但我的要求是它之後首先點擊該按鈕應該被禁用 – Abhimanyu

+1

這就是爲什麼我寫在按鈕上的動作,請妥善檢查我的答案。只有在執行其特定操作時纔會調用按鈕操作方法。 –

0

你可以通過兩種方式:

Button.userInteractionEnabled = NO; 

或使用:

Button.enabled = NO; 

一樣,

- (IBAction)btnClicked:(UIButton*)sender {  
    sender.enabled = NO; 
    //OR 
    //sender.userInteractionEnabled = NO; 
} 

這將是很好的去與setEnabled:NO因爲,它是適當的方式來做到這一點,它無線我也會更新用戶界面。

0

您可以爲像下面這樣啓用的屬性設置false。

Objective-C的

- (IBAction)btnNextClicked:(UIButton *)sender {  
    sender.enabled = NO; 
} 

斯威夫特

@IBAction func btnNextClicked(sender: UIButton) { 
    sender.enabled = false 
} 
0

後您第一次點擊或當您嘗試點擊第二次它不enable.I設置condition.I保存第一次點擊值到NSUserdefault.I嘗試示例,它工作正常。

- (IBAction)actionGoPrevious:(id)sender 
{ 
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
    NSInteger btnFirstClick = [userDefaults integerForKey:@"firstClick"]; 
    if(btnFirstClick == 1){ 
    btnBack.userInteractionEnabled = NO; 
     //OR 
    btnBack.enabled = NO; 
    } 
    else{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setInteger:1 forKey:@"firstClick"]; 
    [defaults synchronize]; 
    [self.navigationController popToRootViewControllerAnimated:YES]; 
    } 
} 
+0

那麼** exclusiveTouch **選項呢 –