0
How to change color of text stirngs inside UITextView in Swift3変更部分文字列の色が、フォント設定は
をリセットしている私は、上記のURLを参照して、このような部分文字列の色を変更しようとしました。
func textViewDidChange(_ textView: UITextView, pageIndex: Int) {
let attrStr = NSMutableAttributedString(string: textView.text)
let inputLength = attrStr.string.characters.count
let searchString = self.emphasisingWordList[pageIndex]
let searchLength = searchString.characters.count
var range = NSRange(location: 0, length: attrStr.length)
while (range.location != NSNotFound) {
range = (attrStr.string as NSString).range(of: searchString, options: [], range: range)
if (range.location != NSNotFound) {
attrStr.addAttribute(NSForegroundColorAttributeName, value: UIColor.orange, range: NSRange(location: range.location, length: searchLength))
range = NSRange(location: range.location + range.length, length: inputLength - (range.location + range.length))
textView.attributedText = attrStr
}
}
}
しかし、私は、フォントサイズと色が帰属テキストが設定されている場合(黒)をデフォルトにリセットされ見つかりました。
私はこれらの行をコードの最後に追加しましたが、もちろん文字列全体が有効になります。
self.sloganTextView.font = UIFont.systemFont(ofSize: 35)
self.sloganTextView.textColor = UIColor.white
それぞれの属性の色を1つずつ変更する必要はありますか?
多くの人が既に述べたように、selectableはtrueに設定されています。