如何在 UITableView 中显示搜索词的搜索结果及其句子

Posted

技术标签:

【中文标题】如何在 UITableView 中显示搜索词的搜索结果及其句子【英文标题】:How to display the search results of a search term with its sentence in UITableView 【发布时间】:2012-05-22 12:26:37 【问题描述】:

我在核心数据中有大量文本,并在我的 tableView 中使用了一个搜索栏(显示文本),并使用 fetchedResultsController 和 NSpredicate 在实体中实现了搜索。

因此 UITableView 会显示包含搜索词的文本结果。但我想显示包含搜索词或搜索词之前或之后2-3个词的句子

例如,如果我有这样的文字:“我对飞行模型飞机有广泛的了解,并且喜欢 CoreData”并搜索“飞行”,我只想显示“......飞行的广泛知识强> 模型飞机...”

我该怎么做?

【问题讨论】:

【参考方案1】:

你必须用粗体显示吗?

如果没有,答案如下

首先获取已搜索文本的范围,例如,假设您在句子“this is the word am search”中搜索“word” 搜索“word”的范围为 12,并将其保存在变量中 然后获取范围为 12 - 10(范围 [2,10])的 a 子字符串并将其保存在另一个变量中 最后在范围 [12+4,10] 的单词后面得到一个 10 个字符的 sbustring 并将其保存到另一个变量中

现在连接所有这些变量(之前+“”+“单词”+“”+之后)并显示它

如果您需要将单词加粗,则可以使用“OHAttributedLabel”之类的库阅读更多https://github.com/AliSoftware/OHAttributedLabel

【讨论】:

是否有任何 API 可以执行此任务? 你说的api是什么意思?但不,它主要是正常的目标 c 代码,我过去做过类似的事情,我不记得我使用了任何特殊的 api only rangeOfString

以上是关于如何在 UITableView 中显示搜索词的搜索结果及其句子的主要内容,如果未能解决你的问题,请参考以下文章

在 UITableView 中显示搜索结果

在搜索期间重新加载 UITableView

视图控制器中的搜索栏和搜索显示控制器,其中包含 UITableView

iOS7 中 UISearchBar 和 UITableView 的问题

Drupal 7:具有多个搜索词的搜索视图

在 UITableView 单元格 iOS Swift 中突出显示搜索结果