Hinzufügen NSUnderlineStyle.PatternDash zu NSAttributedString in Swift?
Ich versuche, fügen Sie eine Unterstreichung einige text in meinem Swift app. Dies ist der code den ich derzeit habe:
let text = NSMutableAttributedString(string: self.currentHome.name)
let attrs = [NSUnderlineStyleAttributeName:NSUnderlineStyle.PatternDash]
text.addAttributes(attrs, range: NSMakeRange(0, text.length))
homeLabel.attributedText = text
Aber ich bekomme diese Fehlermeldung auf der text.addAttributes
Linie:
NSString
ist nicht identisch mitNSObject
Wie kann ich ein Attribut hinzuzufügen, die in einer enum zu einer NSMutableAttributedString in Swift?
InformationsquelleAutor der Frage Undo | 2014-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update für Swift 4 syntax:
Hier ist ein vollständiges Beispiel für das erstellen einer
UILabel
mit unterstrichenen text:Swift 2:
Swift ermöglicht Ihnen die übergabe eines
Int
um eine Methode, die eineNSNumber
so können Sie dies ein wenig Reiniger entfernen die Umstellung aufNSNumber
:Hinweis: Diese Antwort bisher verwendeten
toRaw()
wie in der ursprünglichen Frage, aber das ist jetzt falsch, datoRaw()
wurde ersetzt durch die EigenschaftrawValue
als von Xcode 6.1.InformationsquelleAutor der Antwort vacawama
Wenn Sie möchten, dass eine tatsächliche gestrichelten Linie, sollten Sie ODER der | die raw-Werte der beiden PatternDash und StyleSingle enums wie folgt:
InformationsquelleAutor der Antwort Rich Fox
In Xcode 6.1, iOS SDK 8.1
toRaw()
wurde ersetzt durchrawValue
:Oder Einfacher :
InformationsquelleAutor der Antwort Rémy Virin
Stellt sich heraus, ich brauchte die
toRaw()
Methode - das funktioniert:InformationsquelleAutor der Antwort Undo