2012-03-28 274 views
-2

如何更改標籤的文本?這是我嘗試過的。更改標籤文本

labelCheckBox.text = @"This is the new label"; 

我在InterfaceCheckBox的Interface Builder中連接了標籤,併爲它創建了一個插座。在Didload中,標籤的文本發生了變化,但是在該類中的另一種方法中,它沒有新的值。

-(void)settext:(NSString*)newLabelText{ 

labelCheckBox.text = newLabelText; 
// labelCheckBox = [[UILabel alloc] init]; 
// labelCheckBox.text = @"This is the new label"; 

} 

我打電話另一個類的方法,如下所示:

[New settext:@"All Transaction"]; 

的 'NewLabelText' 的值的NSLog打印出來後是: 「All Transaction」。但是,當我分配'LabelCheckBox.Text = NewLabelText'時,我打印'LabelCheckBox.Text', 的值,並給出空白。

+1

該代碼是正確的,所以如果你不提供更多的信息,沒有人能夠幫助你! – Zalykr 2012-03-28 16:10:05

+0

您是以編程方式還是從Interface Builder創建此'UILabel'? – 2012-03-28 16:10:06

+0

您是否在LabelCheckBox的「接口」構建器中連接了您的標籤併爲其創建了一個插座? – 2012-03-28 16:11:46

回答

3

首先,如果您使用IB,您需要爲您的UILabel創建插座和連接。從你的標籤(控制+拖動)拖到控制器類的.h文件的最簡單的方法。然後在.m文件中進行綜合,現在您可以根據需要更改標籤文本。

+1

合成由Xcode自動添加。 – dasdom 2012-03-29 10:45:37

1

'視圖'應該在設置標籤文本之前加載。

0

iOS開發有時會給你像JavaScript一樣的沉默處理,以幫助防止你的應用程序崩潰。這就是說,如果您在Interface Builder中創建了UILabel併爲其設置了IBOutlet,請確保在創建UILabel之後才更改文本。 (即在-viewDidLoad之後)。您可以設置一個斷點,設置文本更改的位置以及包含UILabel-viewDidLoad中的斷點以確認正在發生的調用順序。

0

下面的代碼將更改標籤文本與標記值

scrollview使用這種類型更改標籤

for(UIView *views in ScrollViewMain.subviews) 
{ 
    UILabel *label = [views viewWithTag:[sender tag]+1000]; 
    label.text=str1; 
} 

它真正的工作文字。 謝謝