2012-05-09 43 views
0

我在我的應用程序中遇到了一些奇怪的問題。iPhone:UIButton的文本沒有得到'零'

在我的ViewDidLoad()方法我設置我的按鈕標題如下。

[btnA setTitle:@"A" forState:UIControlStateNormal]; 

在另一個點擊事件中,我想將該標題的值設置爲nil,如下所示。

[btnA setTitle:nil forState:UIControlStateNormal]; 

但是當我立即打印日誌上面的語句後如下

NSLog(@"btnA:%@",btnA.titleLabel.text); 

它打印記錄如下

btnA:A 

和奇怪的是,當我在模擬器上運行的應用程序的文本按鈕不顯示任何內容,因此點擊事件不會變爲零。

什麼問題有什麼猜測?

+0

我認爲你需要'setTitle:@「」'來代替'setTitle:nil'。由於不能有**零字符串,但可以有一個空字符串。 **零**基本上是對象而不是字符串。 –

回答

1

試試下面的代碼

button.titleLabel.text = @""; 

或在自己的代碼嘗試延遲

- (IBAction)produceImage:(id)sender 
{ 

    // Call another function which setthe title after delay 

    [self performSelector:@selector(title:) withObject:sender afterDelay:2]; 

} 

- (IBAction)title:(id)sender 
{ 
    [sender setTitle:@"" forState:UIControlStateNormal]; 

     NSLog(@"sender:%@",sender.titleLabel.text); 


} 
1
[btnA setTitle:@"" forState:UIControlStateNormal]; 

或set btnA = nil;

2

您可以設置標題爲空字符串,像這樣:

[btnA setTitle:@"" forState:UIControlStateNormal]; 
+0

我試過這個解決方案,但沒有得到答案。 –

+0

它應該工作我已經測試過這個。嘗試新的按鈕,也許你已經改變了一些東西。將這三行寫在'-ViewDidLoad'中,新按鈕的結果是什麼? –

+0

@ K.P .: Justin Boo的回答有什麼問題? –

-1

你可以做setTitle @" " . setTitle @「」or nil`當你再次得到按鈕的值時是無用的,它提供了es你以前的值

相關問題