不调用NSMutableParagraphStyle

时间:2017-03-17 20:55:25

标签: ios swift nsattributedstring

我在xib文件上有一个UILabel,我想增加文本的行间距。

我试着写,但是下面的代码只调用了文本对齐,行间距保持不变。为什么不调用“paragraphStyle.lineSpacing”?

 class PlaySheetCellLeft: UITableViewCell {

        @IBOutlet var LBLTitle:UILabel!


    var message:[String:Any]? {
            didSet{
                guard let msg = self.message else { return  }
                self.LBLTitle.text = title
            }

override func awakeFromNib() {
    super.awakeFromNib()

            let paragraphStyle = NSMutableParagraphStyle()

            paragraphStyle.lineSpacing = 10
            let attrString = NSMutableAttributedString()
            attrString.addAttribute(NSParagraphStyleAttributeName, value:paragraphStyle, range:NSMakeRange(0, attrString.length))
            LBLTitle.attributedText = attrString
            LBLTitle.textAlignment = NSTextAlignment.center

        }
}

1 个答案:

答案 0 :(得分:0)

您正在使用空的属性字符串创建范围,因此不会在任何内容上设置样式。

创建范围时,您实际上是在创建这样的范围:NSMakeRange(0, 0)

您应该将字符串传递给可变属性字符串的创建,如下所示:NSMutableAttributedString(string: "your string")

您还需要在设置标签文字时设置此项,而代码的外观不在awakeFromNib