UILabel mit zwei verschiedenen farbigen text
Wie kann ich ein UILabel
mit zwei verschiedenen Farben für die Schrift? Ich habe den text in zwei verschiedene strings und ich möchte, um text mit der ersten Zeichenfolge als rot und zweitens als grün. Die Länge der beiden Strings ist variabel.
Ich hatte zu tun, dass auch in einem Projekt. Ich habe diese Klasse aus einem anderen post, aber es ist nur für eine single - Zeile, ich weiß nicht, ob es genug ist für Sie. iPhone - UILabel mit text mit mehreren Schriftarten zur gleichen Zeit
InformationsquelleAutor pankaj | 2010-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht tun, diese innerhalb einer
UILabel
s. Aber mein Vorschlag ist, dass anstelle der Verwendung von mehrerenUILabel
konzentrieren Sie sich nur aufNSAttributedString
. FindenUIControllers
ziehenNSAttributedString
weilUILabel
,UITextView
nicht unterstützenNSAttributedString
.PS: wenn Sie planen, zu verteilen iOS6 oder spätere Anwendung, wie UILabel jetzt Unterstützung NSAttributedString, die Sie verwenden sollten, UILabel, sondern direkt OHAttributedLabel wie es jetzt nativ unterstützt von der OS.
Ich habe aktualisiert die Antwort spät im Jahr selbst. Bitte überprüfen Sie es.
InformationsquelleAutor KingofBliss
Versuchen TTTAttributedLabel. Es ist eine Unterklasse von UILabel, unterstützt
NSAttributedString
s, die machen es einfach, mehrere Farben, Schriftarten und Stile in der gleichen Zeichenfolge.Edit: Alternativ, wenn Sie nicht wollen, dass die 3rd-party-Abhängigkeiten und Zielen auf iOS 6
UILabel
jetzt hat dieattributedText
Eigenschaft.InformationsquelleAutor mattt
UILabel kann nur eine Farbe. Sie müssen entweder ein allgemeineres element, oder - wahrscheinlich einfacher - benutzen Sie einfach zwei separate Etiketten. Verwenden
[yourLabel sizeToFit];
und platzieren Sie entsprechend.InformationsquelleAutor Eiko
Swift 4
(Hinweis: die notation für attributierte string key ist geändert in swift 4)
Hier ist eine Erweiterung für
NSMutableAttributedString
, dass add/set Farbe auf string/text.Nun versuchen Sie über die Erweiterung mit
UILabel
- und das Ergebnis sehenHier ist die Lösung in Swift 3:
Ergebnis:
Bitte teilen Fehlermeldung. Auch lassen Sie mich wissen, swift-version Ihres Projekts. Möglicherweise versuchen Sie, mit Swift 3-Erweiterung und Ihr Projekt Swift 4. Bitte teilen Sie Fehler über info, damit ich Euch helfen kann.
Ja, es ist ein Swift 4-Projekt und verwendet die Swift 4-Erweiterung, die Sie gemeinsam. Es war ein syntax-Fehler, nicht einen compile - /Laufzeit-Fehler. Doc » developer.apple.com/documentation/foundation/...
...und sorry für die vage Bemerkung, dass ich es gepostet und vergessen, um sicherzustellen, dass es funktionierte tatsächlich. Als Ergebnis, dauerte es ein wenig länger als die 5 Minuten edit-Zeit überschritten. Vielen Dank für das follow-up!
InformationsquelleAutor Krunal
In iOS 6 UILabel hat NSAttributedString Eigenschaft. So verwenden Sie diese.
InformationsquelleAutor Mann