0

コアデータに大量のテキストがあり、tableView(テキストを表示)で検索バーを使用し、fetchedResultsControllerとNSpredicateを使用してエンティティで検索を実装しました。

したがって、UITableViewには、検索語を含むテキスト結果が表示されます。しかし、検索語を含む文、または検索語の前後に2〜3語を表示したい。

たとえば、「飛行機の飛行に関する幅広い知識があり、CoreDataが大好きです」というテキストがあり、「飛行」を検索した場合、「...飛行機の飛行に関する幅広い知識...」だけを表示したいとします。

これどうやってするの?

4

1 に答える 1

0

太字で表示する必要がありますか?

いいえの場合、答えは次のとおりです。

  • 最初に検索されたテキストの範囲を取得します。たとえば、「これは単語が検索中です」という文で「単語」を検索していたとします。「単語」の範囲である 12 を検索し、それを変数は、12 から 10 の範囲 (範囲 [2,10]) のサブストリングを取得し、別の変数に保存します。最後に、範囲 [12+4,10] の単語の後に 10 文字のスバスストリングを取得し、別の変数

これらすべての変数を連結して (前 + " " + "単語" + " " + 後)、それを表示します

単語を太字にする必要がある場合は、「OHAttributedLabel」などのライブラリを使用できますhttps://github.com/AliSoftware/OHAttributedLabelの続きを読む

于 2012-05-22T12:32:38.997 に答える