如何UILabel
在 iOS 的界面构建器中创建多行?我试过了,UITextView
但它不太适合我的需要。
如何在标签中添加多行(文本)?
如何UILabel
在 iOS 的界面构建器中创建多行?我试过了,UITextView
但它不太适合我的需要。
如何在标签中添加多行(文本)?
您可以使用numberOfLines
定义标签可以拥有的最大行数的属性。默认情况下,它是1
. 将其设置为0
意味着标签将有无限行。
您可以在代码中执行此操作:
textLabel.numberOfLines = 5 // for example
或者在界面生成器中:
点击Control+Enter在 Interface Builder/Storyboard 的 UILabel 中添加一行。
谢谢苹果维杰!
也可以调用 sizeToFit,像这样:
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
[label sizeToFit];
高度将被自动计算。
将标签的宽度设置为您需要的小然后使用 IB 将换行符设置为自动换行
或与这样的代码一起使用
我找到了解决方案。
只需添加以下代码:
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;
将动态文本信息的行数设置为零,当您的文本变化时这将很有用。
以编程方式(Swift 3)
var label = UILabel()
let stringValue = "iOS\nmultiline\nlabel\nin\nInterface\nbuilder"
label.text = stringValue
label.numberOfLines = 0 // Set 0, if number of lines not specified.
label.lineBreakMode = .byTruncatingTail // or .byWrappingWord
label.minimumScaleFactor = 0.8 . // It is not required but nice to have a minimum scale factor to fit text into label frame
使用接口生成器
注意:不需要设置Minimum Font Scale
,但最好有一个最小比例因子以将文本放入标签框架。
行数在 IB 中可见,Plain UILabels 设置行字段为 0 。它将根据为标签提供的空间创建多行。
在 iOS7 (Xcode5) 中,您应该将 UILabel 的行设置为0
在情节提要中无限多个输入。
最重要的是设置height of the UILabel
可以容纳您要设置的输入行。
textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;
CGSize size = [[[arrNewsFeed objectAtIndex:row] objectForKey:@"c"] sizeWithFont:[UIFont systemFontOfSize:14.0] constrainedToSize:CGSizeMake(188, CGFLOAT_MAX)
lineBreakMode:NSLineBreakByTruncatingTail];
textLabel.frame = (CGRect){.origin = cell.lblNewsDescription.frame.origin, .size = size};
如果将 numberOfLines 属性设置为 0,则标签将自动调整为给定文本所需的行数。
我已经为此苦苦挣扎了很长时间。我只是想让我的标签文本出现在第二行。但无论我做什么,它只会溢出 UILabel 框。对我来说,改变尺寸检查器中的自动调整大小是有效的。简单的修复。
可能有人在寻找类似的东西时会发现它有帮助。