2012-04-01 49 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; 
相关问题