UILabel中有多行文本

有没有一种方法可以在UITextView使用UILabel中的多行文本,还是应该使用第二个文本?


我找到了解决方案。

一个只需添加下面的代码:

// Swift
textLabel.lineBreakMode = .ByWordWrapping // or NSLineBreakMode.ByWordWrapping
textLabel.numberOfLines = 0 

// For Swift >= 3
textLabel.lineBreakMode = .byWordWrapping // notice the 'b' instead of 'B'
textLabel.numberOfLines = 0

// Objective-C
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;

// C# (Xamarin.iOS)
textLabel.LineBreakMode = UILineBreakMode.WordWrap;
textLabel.Lines = 0;  

恢复旧的答案(供参考和愿意支持iOS 6.0以下的开发者):

textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;

另一方面,无论如何枚举值都是0


在IB中,将行数设置为0(允许无限行)

在使用IB在文本字段中键入内容时,使用“alt-return”插入一个返回并转到下一行(或者可以复制已按行分隔的文本)。


我发现的最佳解决方案(应该在框架中解决的一个令人沮丧的问题)与vaychick相似。

只需在IB或代码中将行数设置为0即可

myLabel.numberOfLines = 0;

这将显示所需的线条,但会重新定位标签,使其水平居中(以使1行和3行标签在水平位置对齐)。 要修复该添加:

CGRect currentFrame = myLabel.frame;
CGSize max = CGSizeMake(myLabel.frame.size.width, 500);
CGSize expected = [myString sizeWithFont:myLabel.font constrainedToSize:max lineBreakMode:myLabel.lineBreakMode]; 
currentFrame.size.height = expected.height;
myLabel.frame = currentFrame;
链接地址: http://www.djcxy.com/p/28201.html

上一篇: Multiple lines of text in UILabel

下一篇: Replacement for deprecated sizeWithFont: in iOS 7?