私がやりたいのは、詳細ビューが呼び出された場合に、UITextView
要素のテキストの一部だけを強調表示したいということです。
UITextView
内のテキストが:であるとしましょうblatextbla
。次に、ユーザーの頭に浮かぶものだけtext
を動的に強調表示したいと思います。late
これどうやってするの?
私がやりたいのは、詳細ビューが呼び出された場合に、UITextView
要素のテキストの一部だけを強調表示したいということです。
UITextView
内のテキストが:であるとしましょうblatextbla
。次に、ユーザーの頭に浮かぶものだけtext
を動的に強調表示したいと思います。late
これどうやってするの?
内のテキストを強調表示することはできませんUITextView
。
代わりに、NSAttributedStringを使用できます。
強調表示するテキストが開始および終了するテキスト内の範囲を取得してから使用する必要があります。
NSRange selection = [yourNSString rangeOfString:@"late"];
if( selection.location != NSNotFound ){
myTextView.selectedRange = selection;
}
内で複数の範囲を選択しようとしたことはUITextView
ないので、それが可能かどうかはわかりません。私はそれが可能であることを疑います...
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
これは、TextView 内のテキストを検索して置換できる組み込み関数です。