2016-11-03 4 views
0

Ich habe versucht, die Textfarbe für den Teil einer UILabel wie unten zu ändern.Mehrere Textfarbe für UILabel Text funktioniert nicht in Swift 3.0

func changetheColor() { 
     let staticStrng : String = "Zave receipt" 
     var mymutableAttributeString = NSMutableAttributedString() 
     mymutableAttributeString = NSMutableAttributedString(string: staticStrng) 

     mymutableAttributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSRange(location: 5,length: 7)) 
     saveReceiptLabel.text = mymutableAttributeString.string 
    } 

das funktioniert nicht, was mache ich falsch. hoffe deine Hilfe.

+0

letzte Zeile Ersetzen mit 'saveReceiptLabel.attributedText = mymutableAttributeString'. Es ist der NSAttributedString, der die Farbe (und mögliche andere Rendering-Effekte) und die Zeichenkette hat, nicht die (NS) Zeichenkette, die nur eine Kette von Zeichen ist. – Larme

+0

Ich habe versucht, dann gibt es einen Fehler 'kann keinen Wert vom Typ NSMutableAttributedString vom Typ String zuweisen –

+0

' saveReceiptLabel.attributedText = ', nicht' saveReceiptLabel.text = ', ist das, was Sie mit meinem Vorschlag versucht? – Larme

Antwort

1

ändern diese:

saveReceiptLabel.attributedText = mymutableAttributeString.string 
+0

yep danke. Ich habe es verpasst .good job –

+1

@AnuradhS: Funktioniert dieser Code wirklich am Ende, es ist 'mymutableAttributeString.string' und nicht' mymutableAttributeString'? – Larme

+0

@Larme yep, ich habe es bereits ohne 'attributedText' Teil verwendet. In swift 3 verwenden wir nur 'mymutableAttributeString'. Es gibt einen Fehler namens' kann keinen Wert vom Typ NSMutableAttributedString vom Typ String zuweisen' –

Verwandte Themen