UILabel中的换行?

4

我有这段代码:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(25, 25, 275, 40)];
label.text = @"I am learning Objective-C for the\n very first time!";
[self.view addSubview:label];

但由于某些原因它不会插入新的一行...我该怎么在UILabel中插入一个换行?

4个回答

11
请确认。
   UILabel *yourLabel;
   yourLabel.numberoflines = 0

或者不是这样的话请将其设为零


1
将其设置为零并检查 - Murali
2
是的...我们也可以从nib文件中做到。 - Murali
@NSS 是真的,但我实际上只是想理解如何在没有工具的情况下编写Objective-C程序,以便我可以开始制作一些东西... - user115422
能否添加自动换行功能? - user115422
现在我正在尝试使用@"我是第一次学习Objective-C!而且,这是我第一个变量",但最后的\n无法工作。 - user115422
显示剩余5条评论

3
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(25, 25, 275, 40)];
label.text = @"I am learning Objective-C for the\n very first time!";
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;

[self.view addSubview:label];`

在iOS 6中,这已经被弃用了...我该怎么办呢...? - user115422
如果您只使用iOS6,请将UILineBreakModeWordWrap更改为NSLineBreakByWordWrapping。 - Omar Freewan
1
如果您的项目针对iOS 5或更高版本,请使用UILineBreakModeWordWrap,它将在iOS 5/6上运行。但是,如果您的项目仅针对iOS 6,则会收到一个弃用消息,或者您必须使用NSLineBreakByWordWrapping。 - Omar Freewan
我该如何更改目标? - user115422
这个问题可能会对你有所帮助:http://stackoverflow.com/questions/10414712/iphone-app-development-target-change-in-xocde4-2-1 - Omar Freewan
谢谢!还有一个问题,我该如何制作两个页面,以便在每个页面上显示不同的文本。这将在ViewController.m上完成还是另一页?我该如何实现这一点,我想我做了一个单视图应用程序,以便学习所有这些背后的编程。 - user115422

3

我试了各种不同的方法来在我的UILabel中换行。

\r就可以实现这个功能!例如:

NSString *detailInfo=[NSString stringWithFormat:@"Address:\r%@", self.aAddress.text];

0

与@JanB的解决方案相比,另一个解决方案是将NSString对象:@"\n"插入到格式化字符串中:

在您的示例中:

label.text = [NSString stringWithFormat:@"我正在学习Objective-C,这是我%@第一次!", @"\n"];

如果有问题,请告诉我 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接