Swift 4-Label-Attribute
Ich bin bewegt von swift 3 swift 4. Ich habe UILabels, dass ich bin, was sehr spezifischen Eigenschaften der Texte auf dem Etikett. Ich bin immer ein unerwartet gefunden nil while unwrapping optionaler Wert' Fehler bei der strokeTextAttributes initialisiert wird. Ich bin völlig verloren zu sein, frank.
In swift 3 die von strokeTextAttributes war [String : Beliebig] aber swift 4 warf Fehler, bis ich es geändert, was es unten ist.
let strokeTextAttributes = [
NSAttributedStringKey.strokeColor.rawValue : UIColor.black,
NSAttributedStringKey.foregroundColor : UIColor.white,
NSAttributedStringKey.strokeWidth : -2.0,
NSAttributedStringKey.font : UIFont.boldSystemFont(ofSize: 18)
] as! [NSAttributedStringKey : Any]
chevronRightLabel.attributedText = NSMutableAttributedString(string: "0", attributes: strokeTextAttributes)
NSAttributedStringKey.strokeColor.rawValue
=> NSAttributedStringKey.strokeColor
statt?InformationsquelleAutor Blue | 2017-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
@Larme s Kommentar über die
.rawValue
nicht benötigt wird, ist korrekt.Können, können Sie auch vermeiden, die die Kraft gewirkt, stürzt dein code mit expliziter Typisierung:
Dieser entledigt sich der repetitive
NSAttributedString.Key.
auch.Alle
static let
s von NSAttributedStringKey verwendet werden können, so range nicht unterstützt, soweit ich das sagen kann.InformationsquelleAutor Xavier Lowmiller
In
Swift 4.0+
zugeschrieben string akzeptiert json (Wörterbuch) mit Schlüssel TypNSAttributedStringKey
oderNSAttributedString.Key
.Also müssen Sie es aus
[String : Any]
zuSwift 4.1 & unten -
[NSAttributedStringKey : Any]
&Swift 4.2 & oben -
[NSAttributedString.Key : Any]
Swift-4.2
Initialiser für
AttributedString
im Swift-4.2 geändert[NSAttributedString.Key : Any]?
Hier ist Beispiel-code arbeiten.
Swift 4.0
Initialiser für
AttributedString
im Swift-4.0 geändert[NSAttributedStringKey : Any]?
.Hier ist Beispiel-code arbeiten.
Blick auf diese Apple-Dokument, für mehr info: NSAttributedString - Erstellen einer NSAttributedString Objekt
InformationsquelleAutor Krunal
Damit Ihr nicht in der Lage zu konvertieren
String
zuNSAttributedStringKey
.Sie haben zu verwenden, wie unten:
InformationsquelleAutor Vini App
Swift 4 Zurückzuführen text mit mehreren Farben
Können Sie jetzt Führen Sie die Funktion so etwas wie dieses zu verwenden als eine weltweit
, Die Sie verwenden können globalisierten Funktion wie diese
Zurückzuführen text mit Bild
können Sie "NSTextAttachment" mit dem button label wie dieses.
InformationsquelleAutor Azharhussain Shaikh
Swift 4.x, dies sollte so Aussehen :
NSForegroundColorAttributeName
Das ist ein Alter name, nicht? Das ist nicht eineNSAttributedStringKey
.Es ist ein NSAttributedStringKey nach developer.apple.com/documentation/uikit/...
In Objective-C, nicht in Swift. Wenn ich den code in Swift heißt es: "die Verwendung von ungelösten identifier" für jeden.
InformationsquelleAutor Das
wenn Sie ändern möchten, insbesondere string-Wert, so dass unten Antwort ist hilfreich:-
lassen subStr = "Hallo"
lassen Sie allStr = "Hallo Welt"
InformationsquelleAutor Priya Gupta
InformationsquelleAutor Danut Pralea