2017-03-17 43 views
0

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

我试着写,但下面的代码只调用文本对齐方式,行间距保持不变。为什么不调用“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

你的程序有4个''''6'}',缩进很容易让人误解。这实际上是你的班级的样子吗? – Ssswift

回答

0

您正在创建一个带有空属性字符串的范围,所以样式不会被设置在任何东西上。

当你创建你的范围,你实际上创建一个这样的范围:NSMakeRange(0, 0)

你应该通过你的字符串到创建可变属性串像这样的:NSMutableAttributedString(string: "your string")

您还需要设置这个当您设置的标签,文本由你的代码ISN的样子't in awakeFromNib

+0

感谢您的回复。我正在使用plist文件来编辑属性字符串。因此,当我传递字符串时,所有标签都是相同的字母。任何解决方案的问题? – rebecca87

+0

是的,正如我所说的,设置属性字符串,无论你从plist文件设置文本。 –

+0

非常感谢! :) – rebecca87