Ersetzen Sie den Teilstring von NSAtributedString durch einen anderen NSAtributedString
Möchte ich ersetzen eines Teilstrings (z.B. @"replace"
) eines NSAttributedString
mit anderen NSAttributedString
.
Ich bin auf der Suche nach einer gleichwertigen Methode zu NSString
's stringByReplacingOccurrencesOfString:withString:
für NSAttributedString
.
InformationsquelleAutor der Frage Garoal | 2011-11-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konvertieren Sie Ihre zugeschrieben string in eine Instanz von
NSMutableAttributedString
.Den veränderlichen zurückgeführt string hat eine
mutableString
Eigenschaft. Gemäß der Dokumentation:So können Sie die resultierenden mutable-string ausführen, der Austausch mit
replaceOccurrencesOfString:withString:options:range:
.InformationsquelleAutor der Antwort Ole Begemann
Hier ist, wie können Sie ändern Sie die Zeichenfolge von NSMutableAttributedString, während die Erhaltung Ihrer Attribute:
Swift:
Objective-C:
InformationsquelleAutor der Antwort Hashem Aboonajmi
In meinem Fall den folgenden Weg war die einzige (getestet auf iOS9):
Natürlich ist es schön anderen zu finden, besseren Weg.
InformationsquelleAutor der Antwort Darius Miliauskas
Swift 4-und iOS-11 verwenden, können Sie eine der 2 folgenden Möglichkeitenum Ihr problem zu lösen.
#1. Mit
NSMutableAttributedString
replaceCharacters(in:with:)
MethodeNSMutableAttributedString
hat eine Methode namensreplaceCharacters(in:mit:)
.replaceCharacters(in:with:)
hat die folgende Deklaration:Dem Spielplatz-code unten zeigt, wie
replaceCharacters(in:with:)
ersetzt einen Teilstring einesNSMutableAttributedString
- Instanz mit einer neuenNSMutableAttributedString
Beispiel:#2. Mit
NSMutableString
replaceOccurrences(of:with:options:range:)
MethodeNSMutableString
hat eine Methode namensreplaceOccurrences(von:mit:Optionen:Bereich:)
.replaceOccurrences(of:with:options:range:)
hat die folgende Deklaration:Dem Spielplatz-code unten zeigt, wie
replaceOccurrences(of:with:options:range:)
ersetzt einen Teilstring einesNSMutableAttributedString
- Instanz mit einer neuenNSMutableAttributedString
Beispiel:InformationsquelleAutor der Antwort Imanou Petit
Hatte ich zu Fett text in
<b>
- tags, hier das, was ich getan habe:InformationsquelleAutor der Antwort trickster77777
InformationsquelleAutor der Antwort Chan Kai Long
Finde ich, dass alle anderen Antworten funktioniert nicht. Hier ist, wie ich ersetzt Inhalt einer NSAttributed string in einer Kategorie Erweiterung:
InformationsquelleAutor der Antwort Sunkas
Habe ich eine spezielle Anforderung und befestigt nach unten. Dies könnte jemand helfen.
Voraussetzung: In der storyboard -, rich-text direkt Hinzugefügt UITextView das Attribut enthält ein Wort "App-Version: 1.0". Jetzt muss ich dynamise die Versionsnummer durch das Lesen von info-plist.
Lösung:
Gelöscht Versionsnummer 1.0 vom storyboard, einfach immer "App-Version:" und fügte folgenden code.
Gemacht!! Aktualisiert/geändert attributedText.
InformationsquelleAutor der Antwort Suresh Durishetti