在tableview中搜索时如何更改文本“无结果”?

时间:2012-12-30 10:35:58

标签: ios uitableview uisearchbar uisearchdisplaycontroller

在没有结果的UITableView中搜索后,我想将“无结果”文本更改为“不匹配...”。但我找不到哪里。请帮忙!

enter image description here

以下是一些代码:

- (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";
                }
            }
}
}

4 个答案:

答案 0 :(得分:4)

这是一个老线程,但对于任何有同样问题的人,请尝试这样的事情。

- (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;
    }
}

答案 1 :(得分:2)

使用带有“无结果”文字的标签创建自定义视图,并在搜索查询不包含值时加载它。

答案 2 :(得分:2)

循环浏览子视图并在其中寻找 UILabel ,并详细说明我们正在寻找的子视图检查字符串/文本是否匹配“否结果”。
如果匹配,则只需将文本更改为“不匹配”

当您还在等待用户按下搜索按钮时,

或显示带有空白单元格的单行。

答案 3 :(得分:0)

如果在Info.plist中更改本地化本机开发区域,则字符串将替换为本机语言版本。如果你改为例如de将是" Keine Ergebnisse"。这是在iOS 9上测试的。您可以尝试通过国际化来更改文本。也许这对于阅读和搜索此主题的人来说很有帮助。

相关: searchDisplayController: change the label "No Results"