swift UILabelinit sizeThatFits如何设置行间距
在Swift中,要设置UILabel的行间距,可以使用NSMutableAttributedString来设置NSAttributedString的样式,然后将其赋值给UILabel的attributedText属性。
下面是一个示例代码:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let label = UILabel()
label.numberOfLines = 0 // 设置为0,表示自动换行
label.frame = CGRect(x: 50, y: 100, width: 200, height: 0) // 设置宽度为200,高度为0,让UILabel自动计算高度
let text = "这是一段带有行间距的文本。"
let attributedString = NSMutableAttributedString(string: text)
// 设置行间距
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 10 // 设置行间距为10
attributedString.addAttribute(NSAttributedString.Key.paragraphStyle, value: paragraphStyle, range: NSMakeRange(0, attributedString.length))
label.attributedText = attributedString
label.sizeToFit() // 根据文字内容自动调整UILabel的大小
self.view.addSubview(label)
}
}
在上面的示例中,我们先创建了一个UILabel实例,并设置了numberOfLines属性为0,表示可以自动换行。然后,我们创建了一个NSMutableAttributedString实例,并将文本赋值给它。接下来,我们创建了一个NSMutableParagraphStyle实例,并将行间距设置为10。最后,我们将NSMutableParagraphStyle实例添加到NSMutableAttributedString的属性中,并将NSMutableAttributedString赋值给UILabel的attributedText属性。最后,调用sizeToFit()方法自动调整UILabel的大小,使其能够完整显示文本内容。
注意:如果要设置UILabel的字体、颜色等样式,可以在创建NSMutableAttributedString实例时进行设置
原文地址: https://www.cveoy.top/t/topic/hUsh 著作权归作者所有。请勿转载和采集!