2016-05-15 23 views
-1

TextViewでタイピングを押して色を変更するにはどうすればいいですか?Swift TextViewでのタイピング色の変更

たとえば、色をオレンジ色に変更し、オレンジ色のボタンを押すと、黒色のボタンを押して黒色のテキストを印刷します。

研究された方法は、すべての入力したテキストまたはプレースホルダの色を持つことができるなど

+0

入力中にテキストの色を変更する必要がありますか?これまでに何を試しましたか? – iYoung

+0

'UITextView'のドキュメントを見ましたか?型付きテキストの属性を定義する明確なプロパティが設定されています。 – rmaddy

+0

@rmaddy私はそれらのプロパティは、フィールド内のすべてのテキストを変更すると思いますか?彼はちょうど新しいテキストを変更し、既存のテキストのフォーマットを維持する方法の後にあるようです。 –

答えて

1

この方法を試してみてください:

@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

あなたはまたのtypingAttributesプロパティを設定することによって、これを達成することができます、これはより良いソリューションと思われます:

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

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

ありがとう、ViktorSimkó!!! – SashDing

+0

@SashDingよろしくお願いします!あなたの問題を解決した場合、これを答えとして受け入れることができます。 –

+0

この美しいコードは私の問題を決して決してしなかった!ありがとうございました! – SashDing