在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实例时进行设置

swift UILabelinit sizeThatFits如何设置行间距

原文地址: https://www.cveoy.top/t/topic/hUsh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录