2012-04-01 93 views
0

我在我的iOS項目的viewDidLoad函數中編寫了這段代碼。爲什麼我的IBOutlet標籤中沒有創建新行?

lettersLeftLabel.text = @"ABCDEFGH\nIJKLMNOP\nQRSTUVWX\nYZ"; 

lettersLeftLabel是一個文本標籤。

但是,不會出現換行符。爲什麼?

此外,顯然lettersLeftLabel.text不能是一個整數或者:

lettersLeftLabel.text = myIntegerValue; 

失敗了。怎麼來的?

回答

2

改爲將代碼放入viewDidAppear

當然,您不能將int指定爲NSString*。要做到這一點,必須做這樣的事情

lettersLeftLabel.text = [NSString stringWithFormat:@"%d",myIntegerValue]; 
+0

謝謝,爲什麼viewDidAppear?我認爲它在viewDidLoad中工作。 – 2012-04-01 00:25:46

+1

由於'viewDidLoad'中的視圖可能不在屏幕上,因此任何影響GUI的任務都將被丟棄...... – Saphrosit 2012-04-01 00:27:57

+0

@Saphrosit我認爲'-viewDidLoad'和'-viewWillAppear'的混淆。 – CodaFi 2012-04-01 00:35:34

3

UILabel的必須有自己numberOflines財產,以便換行設定逃脫生效。所以這應該適用於你的情況:

lettersLeftLabel.numberOfLines=4; 
相關問題