2011-07-14 60 views
1

我使用界面生成器做了一個按鈕,並將其鏈接到一個動作。我想禁用砸在下面的if聲明按鈕。禁用的IBAction爲聯按鈕

- (IBAction)hit:(id)sender { 
    Application *app = [[Application alloc] init]; 
    int nc = [app dealCard]; 
    [userOne setIntValue:tu]; 
    [userTwo setIntValue:nc]; 
    tu += nc; 
    [totalUser setIntValue:tu]; 
    BOOL bust = [app checkBust:tu]; 
    if (bust == YES) { 
     [console setIntValue:1]; 
     //Disable button here. 
    } 
} 

我該怎麼辦?

回答

1

我發現了這個問題。事實證明,我是用NSButton代替UIButton所以我改變了聲明:NSButton *theButton = (NSButton *)sender;

然後我更換theButton.enabled = NO;[theButton setEnabled = NO];

因此,這裏是我完成的代碼:

- (IBAction)hit:(id)sender { 
    Application *app = [[Application alloc] init]; 
    NSButton *theButton = (NSButton *)sender; 
    int nc = [app dealCard]; 
    [userOne setIntValue:tu]; 
    [userTwo setIntValue:nc]; 
    tu += nc; 
    [totalUser setIntValue:tu]; 
    BOOL bust = [app checkBust:tu]; 
    if (bust == YES) { 
     [console setIntValue:1]; 
     [theButton setEnabled = NO]; 
    } 
} 
1

UIButtonUIResponder的子類,它具有enabled屬性。將其設置爲NO以禁用按鈕中的操作。例如。

UIButton *theButton = (UIButton *)sender; 
theButton.enabled = NO; 
+0

感謝您的快速答覆。我輸入代碼時出現錯誤:「UIButton未聲明」。我應該在_.h_文件中聲明它嗎?如果是這樣,怎麼樣? – Simon

+1

@Simon:現在就試試。我只是將發件人作爲'UIButton'的實例來投放。如果您使用的不是一個'UIButton'其他的東西,然後刪除第一行,只是做'sender.enabled = NO;' – PengOne

+0

我嘗試了第二個選項,我得到了錯誤:「請求會員‘啓用’的東西不是一個結構或聯盟。「感謝您的耐心等待。 – Simon