これはUITextViewで、長い章を置きます(本のようにしたいです)。単語を2秒以上押すと(ここで長いジェスチャーを設定します)、単語がハイライトされます(次のコードは単語をうまくハイライトできますが、排除する必要があるいくつかの副作用も引き起こします)、ここに話があります:
コードは次のようになります。
NSMutableAttributedString *attrStr = [self.contentTextView.attributedText mutableCopy];
[attrStr addAttribute:NSBackgroundColorAttributeName value:[UIColor grayColor] range: _wordToSearchRange ];
self.contentTextView.attributedText = attrStr;
これまでのところ、コードをデバッグし、最終的にこの行をターゲットにしました:
self.contentTextView.attributedText = attrStr;
これにより、textView のスクロールが一番上に移動します (現在の単語の場所に留まらない)。この操作は、textView を更新してまったく新しいコンテンツを設定するのと似ているため、合理的です。しかし、これを引き起こさない特定の単語範囲を textView に設定する他の方法はありますか?
どんな助けでも素晴らしいでしょう!ありがとう!