156

有什么方法可以根据需要添加标签自动换行文本吗?我将换行符设置为自动换行,并且标签足够高,可以容纳两行,但它似乎只会换行。我是否必须添加换行符才能使其正确换行?如果它不能水平装入,我只想把它包裹起来。

4

5 回答 5

315

如果您设置numberOfLines为 0(并且标签为自动换行),标签将自动换行并根据需要使用尽可能多的行。

如果您UILabel在 IB 中编辑 a,您可以通过按option+return 来输入多行文本以获得换行符 -return单独完成编辑。

于 2009-07-13T18:57:18.513 回答
27

UILabel有一个属性lineBreakMode,您可以根据您的要求设置。

于 2009-07-13T19:01:00.207 回答
25

在 Swift 中,你会这样做:

    label.lineBreakMode = NSLineBreakMode.ByWordWrapping
    label.numberOfLines = 0

(注意 lineBreakMode 常量的工作方式与 ObjC 中的不同)

于 2016-07-29T07:56:49.277 回答
3

Xcode 10,斯威夫特 4

也可以在 Storyboard 上通过选择标签并使用属性检查器来包装标签的文本。

= 0 行=自动换行

在此处输入图像描述

于 2019-01-17T16:49:01.687 回答
0

Xcode 12.5.1,斯威夫特 5。

我发现即使我设置了Lines = 0LineBreak = Word Wrap,它仍然没有换行长标签文本。仔细检查您在 IB 中的标签约束(或您设置它们的任何位置)。

我发现有时 IB 会尝试修复约束设置并为前缘和后缘添加 >= 或 <= 约束。

此标签约束不会换行文本:

在此处输入图像描述


但这将:

在此处输入图像描述

请注意第一张图片中 Label.trailing 边缘上的 >=。将此设置为 = 并且文本应该换行。

于 2022-01-09T23:31:56.930 回答