0

Ich mache eine Notizen-App. Ich spare Zugewiesener Text Auf DetailVC und ich zeige die Vorschau in UITableViewCell Label.swift - Wie kann ich leere (leere) Zeile in NSAttributedString entfernen?

In dem Etikett habe ich einen Text wie diesen

The Bold Title 

my Text 

und ich möchte diese wie

The Bold Title 
my Text 

ich die Lösung in String

let regex = try! NSRegularExpression(pattern: "\n+", options: []) 
let newString = regex.stringByReplacingMatches(in: MyString, options: [], range: NSRange(location: 0, length: MyString.characters.count), withTemplate: "\n") 

gefunden ändern, aber Wie kann ich es tun in NSAttibuttedStr ing?

pls hilfe!

Antwort

1

Sie können eine NSMutableAttributedString machen, die eine attributierte Zeichenfolge ist, die eine Mutation ihres Inhalts zulässt und dann die Eigenschaft mutableString davon verwendet. Wenn Sie bereits eine NSAttributedString haben, können Sie mutableCopy() verwenden oder einen Blick auf possible initializers of NSMutableAttributedString werfen.

let str = NSMutableAttributedString(string: "Hardcore\n\nHenry") 
str.mutableString.replaceOccurrences(of: "\n\n", with: "\n", options: [], range: NSMakeRange(0, str.length)) 
print(str) 
+0

Vielen Dank !! aber es hat keine Attribute! Wie kann ich das beheben? – Daniel

+0

Sie können Attribute hinzufügen, wie Sie es für richtig halten. Zum Beispiel können Sie 'str.addAttribute (NSForegroundColorAttributeName, Wert: UIColor.red, range: NSMakeRange (0, 8))' (das ist swift3, für swift2.x verwenden Sie 'UIColor.redColor()') verwenden, um das Wort zu erstellen 'Hardcore' rot. Es wird nicht in 'print()' tough angezeigt. Sie müssen ein 'UILabel' verwenden, um zu sehen, wie es aussehen wird. – Majster

+0

Danke ... aber mein Problem ist, den zugeschriebenen Text zu ersetzen ** es ** eigene Attribute zu behalten. (Ich benutzte UILabel ...) – Daniel