拆分字符串会截断 UILabel 中的单词
Splitting a string truncates the word in UILabel
我尝试使用 UIImage
和 UILabel
设置自定义按钮
设置约束后,我开始测试此按钮并注意到奇怪的行为
UILabel
在 UIButton
代码中:
private var title: UILabel = {
var label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.font = UIFont.boldSystemFont(ofSize: 14)
label.numberOfLines = 0
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5
return label
}()
例如,当我设置标题 "Hfpdktxtybz"
时,UILabel
效果惊人!
一字占一行:
但是如果我尝试设置标题,例如 "Развлечения"
,UILabel
会截断单词。
一个字分两行:
为什么英语标签工作正确,但俄语截断了这个词?如何解决?
字数相同
问题是,正如评论中所说,字符不一定具有相同的宽度。
- lllll
- AAAAA
- aaaaa
上面的例子清楚地表明,尽管字符数相同,但字符的宽度并不相同。
所以 Autolayout 计算 UILabel 的实际宽度,它只有一个选项来满足您的约束。也就是分成2行。
如果您不希望发生这种情况,请考虑更改 UILabel 优先级 numberOfLines
。
如果你使用故事板
如果您以编程方式使用 swift。
label.numberOfLines = 2
我尝试使用 UIImage
和 UILabel
设置约束后,我开始测试此按钮并注意到奇怪的行为
UILabel
在 UIButton
代码中:
private var title: UILabel = {
var label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.font = UIFont.boldSystemFont(ofSize: 14)
label.numberOfLines = 0
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5
return label
}()
例如,当我设置标题 "Hfpdktxtybz"
时,UILabel
效果惊人!
一字占一行:
但是如果我尝试设置标题,例如 "Развлечения"
,UILabel
会截断单词。
一个字分两行:
为什么英语标签工作正确,但俄语截断了这个词?如何解决? 字数相同
问题是,正如评论中所说,字符不一定具有相同的宽度。
- lllll
- AAAAA
- aaaaa
上面的例子清楚地表明,尽管字符数相同,但字符的宽度并不相同。 所以 Autolayout 计算 UILabel 的实际宽度,它只有一个选项来满足您的约束。也就是分成2行。
如果您不希望发生这种情况,请考虑更改 UILabel 优先级 numberOfLines
。
如果你使用故事板
如果您以编程方式使用 swift。
label.numberOfLines = 2