ios - 多行 UILabel 未正确换行

标签 ios swift xcode swift3 uilabel

<分区>

我在调整字体大小以适合标签并且不拆分任何单词时遇到问题。 我有一个标签,可以根据字符串数组动态更改其内容。 标签可以有任意数量的行。我想要的是字体大小尽可能大,同时适合标签并且不拆分任何单词。 我在 Storyboard上将字体设置得非常大。 使用自动布局将标签放置在 View 上。

例如,如果我使用此代码,对于字符串“Most definitely”:

 answerLabel.numberOfLines = 0
 answerLabel.adjustsFontSizeToFitWidth = true
 answerLabel.lineBreakMode = .byTruncatingTail

我得到的字符串如下: 大多数(第 1 行) 定义(第 2 行)y(第 3 行)

如果换句话说

    answerLabel.numberOfLines = 0
    answerLabel.adjustsFontSizeToFitWidth = true
    answerLabel.lineBreakMode = .byWordWrapping

我得到一个大写字母的字符串“Mo”

显然,在那种情况下我要找的是 Most(line 1) definitely(line 2)。

在此先感谢您的帮助。

最佳答案

swift 3
将动态文本信息的行数设置为零,这对于可变文本很有用。

var label = UILabel()
let stringValue = "Multiline UILabel not wrapping words correctly"
label.text = stringValue
label.numberOfLines = 0
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

使用界面生成器:

enter image description here

关于ios - 多行 UILabel 未正确换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42561809/

相关文章:

cocoa - 如何将Cocoa静态库链接到C命令行目标?

iOS/Xib : Easiest way to show a button in the middle of different iPhone

ios - 我如何在部分表(无限滚动器)中打开另一个 ViewController

ios - UILongPressGestureRecognizer 识别其 View 外的触摸

iphone - 立即显示 ActivityIndi​​cator

ios - `: class` 在协议(protocol)声明中究竟做了什么?

ios - 显示有关如何使用应用程序的教程/提示

ios - 以编程方式将 UILabels 快速添加到集合单元中

swift - 我在 Swift 中遇到 Nil Coalescing 问题

ios - 如何以编程方式更改名称以区分 Xcode 可视化调试器中的 UIView?