2013-08-29 55 views
1

中的另一個按鈕開始如何才能將第一個按鈕從第二個按鈕[self firstButton:sender.enabled = Yes];重新打開,只能將其關閉。編譯器給我一個關於如何關閉按鈕的警告。所以,如果有更好的方法來從第二個按鈕將其關閉,以請讓我知道如何打開和關閉它..打開一個按鈕,從目標C

-(IBAction)firstButton:(UIButton *)sender{ 
if(firstButton is clicked){ 
//Turn firstButton off 
((UIButton *)sender).enabled = NO; 
} 
} 

-(IBAction)secondButton:(UIButton *)sender{ 
if(secondButton is clicked) 
{ 
//Turn firstButton BACK ON? 
[self firstButton:sender.enabled = Yes]; 
} 
} 

謝謝!

+0

你應該創建參考指針的按鈕... – holex

+0

你會怎麼去那個@holex? – Petahwil

+0

所以這對我來說都是真正的新東西我從java中過來。如何將標記引用設置爲* firstButton @ 0x7fffffff?我似乎無法弄清楚如何使用* otherButton中的標籤並關閉* firstButton。 – Petahwil

回答

2

您可以使用IBOutlet

IBOutlet UIButton *firstButton, *secondButton; 

然後將它們鏈接到在Interface Builder正確的按鈕每個按鈕設置的ivars。

然後你可以使用這些IBActions來完成你正在尋找的東西。

-(IBAction)firstButtonClicked:(id)sender 
{ 
    [firstButton setEnabled:NO]; 
} 

-(IBAction)secondButtonClicked:(id)sender 
{ 
    [firstButton setEnabled:YES]; 
} 
+0

「現代Objective-C」表明我們使用屬性而不是ivars。不難,更好的做法。 –

+0

http://stackoverflow.com/questions/9554121/connect-object-in-xib-to-existing-ibaction – Joel

1

您是否試圖切換每個按鈕上其他按鈕的狀態?如果是這樣,這應該有所幫助。首先使用viewWithTag:獲取對另一個按鈕的引用。這將要求您正確地將每個按鈕的標籤屬性分配給下面指定的相同標籤。然後,您可以簡單地將按鈕啓用狀態設置爲!其當前啓用狀態。它會切換它。開始關閉,關閉。

-(IBAction)firstButton:(UIButton *)sender 
{ 
    UIButton *otherButton = (UIButton *)[self.view viewWithTag:33]; 
    [otherButton setEnabled:!otherButton.enabled]; 
} 

-(IBAction)secondButton:(UIButton *)sender 
{ 
    UIButton *otherButton = (UIButton *)[self.view viewWithTag:44]; 
    [otherButton setEnabled:!otherButton.enabled]; 
}