UILabel - Wordwrap text
有什么方法可以根据需要设置标签自动换行文本吗? 我已将换行符设置为自动换行,并且标签的高度足以容纳两行,但看来它只会在换行符上换行。 我是否必须添加换行符以使其正确包装? 我只想包装它,如果它不能水平放置。
如果将numberOfLines设置为0(标签设置为自动换行),则标签将自动换行并根据需要使用任意多的行。
如果要在IB中编辑UILabel,则可以通过按option + return以换行来输入多行文本-仅return即可完成编辑。
-
为了澄清像我这样的菜鸟,这将是:cell.textLabel.numberOfLines = 0; cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
-
在iOS 6和更高版本中,请使用NSLineBreakByWordWrapping,而不是UILineBreakModeWordWrap。
-
您可能还需要以下内容:label.autoresizingMask = UIViewAutoresizingFlexibleHeight;
-
迅速label.lineBreakMode = .ByWordWrapping和label.numberOfLines = 0
-
在(Xcode 7.3,iOS 9.3)中,这对我不起作用。我的标签文本在XCode UI中包装,但是在我的应用程序中,文本没有包装。香港专业教育学院试图通过GUI属性检查器和通过代码设置这些道具,都行不通。
-
对于像我这样不那么明显的任何人:UILabel的宽度必须有某种限制(无论是实际宽度限制还是边距限制);否则,它不会包裹。
-
@jcady,这是一个很好的观点,因为自动布局更为普遍-如果允许标签宽度尽可能大地扩展,它将停留在一行上。标签也必须允许高度增加!
-
label.lineBreakMode = .byWordWrapping in swift 3
UILabel具有属性lineBreakMode,您可以根据需要进行设置。
-
"我将换行符设置为自动换行"。这仅在实际的换行符上换行,一旦变长,它不会自动换行。
在Swift中,您可以这样做:
1 2
| label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.numberOfLines = 0 |
(请注意,lineBreakMode常量的工作方式与ObjC中的不同)
-
细说一下它有何不同?
-
我想我的意思是命名是不同的。 swift3可能又改变了
-
换行模式应设置为自动换行
-
@MobileMonin我的经验并非总是如此。也许IB在某些情况下会改变它?
-
Obj C中的label.lineBreakMode = NSLineBreakByWordWrapping
Xcode 10,Swift 4
也可以通过选择"标签"并使用"属性"检查器在情节提要上为标签包裹文本。
行数= 0
换行符=自动换行
-
使用branBrand-New标签,直接将其添加到视图中,尽管将行设置为0并将换行符设置为Word Wrap,但仍然为我生成了单行标签(宽度大于电话宽度)。是否需要其他设置?我需要附加代码吗?