gpt4 book ai didi

swift - 属性字符串切割并在 UILabel 上将单个单词显示为两行

转载 作者:行者123 更新时间:2023-11-30 12:01:38 26 4
gpt4 key购买 nike

我正在使用以下属性创建属性文本,

func attributedString(font: UIFont, contentColor: UIColor, alignment: NSTextAlignment) -> NSAttributedString {

let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 0.6
paragraphStyle.lineHeightMultiple = 0.8
paragraphStyle.alignment = alignment
paragraphStyle.lineBreakMode = .byWordWrapping

let lineSpacingAttribute: [NSAttributedStringKey: Any] = [NSAttributedStringKey.paragraphStyle: paragraphStyle, NSAttributedStringKey.font: font, NSAttributedStringKey.foregroundColor: contentColor]
let attributedString = NSAttributedString(string: self, attributes: lineSpacingAttribute)

return attributedString
}

我在自定义 tableViewCell 内的 UILabel 上显示此文本。但是,它将一个单词切成两个(剪切单词的最后一个字母并将其显示在下一行)。我已将 numberOfLines 设置为零,并将标签的 preferredMaxLayoutWidth 设置为零。我正在使用自定义字体。

enter image description here

此问题仅发生在小屏幕、iPhone SE 和 iPhone 5S 模拟器上。但是,在其他模拟器上它显示正确。您能帮我找出其中的问题吗?

谢谢!

最佳答案

来自Apple 文档:

var preferredMaxLayoutWidth: CGFloat

This property affects the size of the label when layout constraints are applied to it. During layout, if the text extends beyond the width specified by this property, the additional text flows to one or more new lines, increasing the height of the label.

根据您的文本,您可以将 adjustsFontSizeToFitWidth 属性与 minimumScaleFactor 属性结合使用

关于swift - 属性字符串切割并在 UILabel 上将单个单词显示为两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47145359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com