有没有一种方法可以像UITextView一样在UILabel中使用多行文本,或者我应该使用第二行?
发布于 2009-06-13 07:43:46
将换行模式设置为自动换行,将行数设置为0
// Swift
textLabel.lineBreakMode = .byWordWrapping
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。
发布于 2009-06-14 09:27:39
在IB中,将行数设置为0(允许不限制行数)
使用IB在文本字段中键入时,使用"alt- return“插入一个回车符并转到下一行(或者您也可以复制已由行分隔的文本)。
发布于 2011-06-29 17:29:40
我找到的最好的解决方案(对于一个本应在框架中解决的令人沮丧的问题)类似于vaychick的解决方案。
只需在IB或code中将行数设置为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;https://stackoverflow.com/questions/990221
复制相似问题