2017-03-17 4 views
0

Ich habe eine UILabel auf XIB-Datei und ich möchte den Zeilenabstand der Texte erhöhen.NSMutableParagraphStyle heißt nicht

Ich habe versucht zu schreiben, aber mit dem Code unten nur Textausrichtung aufgerufen wird und Zeilenabstand bleibt gleich. Warum wird "paragraphStyle.lineSpacing" nicht aufgerufen?

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

Ihr Programm hat 4 '{' und 6 '}', und die Einrückung ist sehr irreführend. Sieht Ihre Klasse tatsächlich so aus? – Ssswift

Antwort

0

Sie erstellen einen Bereich mit einer leeren attributierten Zeichenfolge, sodass der Stil für nichts festgelegt wird.

Wenn Sie Ihren Bereich erstellen, erstellen Sie einen Bereich wie diesen: NSMakeRange(0, 0).

Sie sollten Ihre Zeichenfolge in die Erstellung des wandelbaren zugeschrieben Zeichenfolge wie folgt passieren: NSMutableAttributedString(string: "your string")

Sie auch diese Einstellung vornehmen müssen, wenn Sie den Text Ihres Etiketts festgelegt, die von den Blicken des Codes isn 't in awakeFromNib

+0

Danke für Ihre Antwort. Ich verwende PLIST-Datei, um die attributierte Zeichenfolge zu bearbeiten. Wenn ich also eine Zeichenfolge übergebe, haben alle Labels den gleichen Buchstaben. Irgendeine Lösung für das Problem? – rebecca87

+0

Ja, wie gesagt, setze den attributierten String überall dort, wo du den Text aus der PLIST-Datei gesetzt hast. –

+0

Vielen Dank! :) – rebecca87