2017-03-17 14 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