在tableview中搜索时如何更改文本“无结果”?
Posted
技术标签:
【中文标题】在tableview中搜索时如何更改文本“无结果”?【英文标题】:how to change the text "no results" when search in tableview? 【发布时间】:2012-12-30 10:35:57 【问题描述】:在 UITableView 中搜索没有结果后,我想将文本“No results”更改为“Not Match...”。但是我找不到在哪里。请帮助!
这里有一些代码:
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
if ([self.webSearchData count] == 0)
for (UILabel *label in self.searchTable.subviews)
if (label.text = @"No Results")
label.text = @"Not Match";
【问题讨论】:
不支持更改它的方法。不过看看***.com/questions/3451945/… 【参考方案1】:这是一个旧线程,但是对于遇到相同问题的任何人,请尝试类似的方法。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
if (tableView == _searchDisplayController.searchResultsTableView)
if (_searchResults.count == 0)
for (UIView *view in tableView.subviews)
if ([view isKindOfClass:[UILabel class]])
((UILabel *)view).text = @"YOUR_TEXT";
return _searchResults.count;
else
return (_items.count == 0) ? 0 : _items.count;
【讨论】:
【参考方案2】:创建一个带有文本“无结果”标签的自定义视图,并在您的搜索查询不包含任何值时加载它。
【讨论】:
也许只有这样。我想在我问这个问题之前有人知道直接设置的方式。 我不喜欢ios,所以不知道细节。但是当我寻找答案时,它说苹果不提供。因此,如果你想实现,要么按照上面的去扩展显示“无结果”的特性/类。【参考方案3】:循环遍历 subviews 并在其中寻找 UILabel 并进一步澄清我们正在寻找的子视图检查字符串/文本是否匹配“无结果” "。 如果匹配,则只需将文本更改为 "No Match"。
或
或在您仍在等待用户按下搜索按钮时显示带有空白单元格的单行。
【讨论】:
你能说清楚吗?我找不到这些子视图属于哪些视图。 您必须遍历“searchResultsTableView's”子视图来搜索包含文本“No Results”的视图 我更新了上面的一些代码。当分配 label.text = @"Not Match" 时,它会更改 searchBar.text,而不是 searchTable 中的视图标签。请检查我的更新。【参考方案4】:如果您在 Info.plist 中更改本地化本地开发区域,则该字符串将替换为本地语言版本。如果您更改为例如de 它将是“Keine Ergebnisse”。这是在 iOS 9 上测试的。您可以尝试通过国际化更改文本。也许这对某些阅读和搜索此线程的人有所帮助。
相关: searchDisplayController: change the label "No Results"
【讨论】:
以上是关于在tableview中搜索时如何更改文本“无结果”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 swift 中更改 tableView 部分中的文本颜色
如何延迟更改 tableView 中的 UILabel 文本
IOS/Objective-C:无结果时在tableview的背景视图中显示消息