2016-05-15 17 views
-1

Wie ändert man die Farbe, indem man TextView drückt?Ändern der Texteingabe in Swift TextView

Zum Beispiel, ich tippe in schwarz, und dann drücken Sie die Taste der Farbe Orange und mehr Drucktext in orange Farbe, dann drücke ich auf den schwarzen Knopf und drucke schwarzen Text?

Die untersuchten Methoden können die Farbe aller getippten Text oder Platzhalter haben usw.

+0

Sie müssen die Farbe des Textes während der Eingabe ändern? Was hast du bisher versucht? – iYoung

+0

Haben Sie sich die Dokumentation zu 'UITextView' angesehen? Es gibt eine offensichtliche Eigenschaft, die Sie festlegen, die die Attribute des eingegebenen Texts definiert. – rmaddy

+0

@rmaddy Ich glaube, dass diese Eigenschaften den gesamten Text in dem Feld ändern werden? Er scheint nach einer Möglichkeit zu sein, nur neuen Text zu ändern und das Format eines bestehenden Textes beizubehalten. –

Antwort

1

Versuchen Sie, diese Art und Weise:

@IBAction func blackButtonClicked(sender: UIButton) { 
    let attributedText = textView.attributedText 

    textView.textColor = UIColor.blackColor() 
    textView.attributedText = attributedText 
} 

@IBAction func redButtonClicked(sender: UIButton) { 
    let attributedText = textView.attributedText 

    textView.textColor = UIColor.redColor() 
    textView.attributedText = attributedText 
} 

enter image description here

Sie können dies auch erreichen, indem der typingAttributes Eigenschaft die textView, die eine bessere Lösung zu sein scheint:

@IBAction func redButtonClicked() { 
    textView.typingAttributes[NSForegroundColorAttributeName] = UIColor.redColor() 
} 

@IBAction func blackButtonClicked() { 
    textView.typingAttributes[NSForegroundColorAttributeName] = UIColor.blackColor() 
} 
+1

Danke, Viktor Simkó !!! – SashDing

+0

@SashDing Gern geschehen! Sie könnten dies als die Antwort akzeptieren, wenn es Ihr Problem gelöst hat. –

+0

Dieser schöne Code entschied mein Problem überhaupt! Vielen Dank! – SashDing

Verwandte Themen