4

結果のないUITableViewで検索した後、「結果がありません」というテキストを「一致しない...」に変更したいのですが、場所が見つかりません。助けてください!

ここに画像の説明を入力

ここにいくつかのコードがあります:

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

4 に答える 4

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;
    }
}
于 2014-09-10T13:15:44.217 に答える
2

「結果なし」というテキストのラベルを使用してカスタムビューを作成し、検索クエリに値が含まれていない場合は常にそれをロードします。

于 2012-12-30T13:45:32.317 に答える
2

サブビューをループしてその中のUILabelを探し、探しているサブビューであることを明確にするために、文字列/テキストが「結果なし」と一致することを確認します。
一致する場合は、テキストを"No Match"に変更します。

また

または、ユーザーが検索ボタンを押すのをまだ待っているときに、空白のセルを含む単一の行を表示します。

于 2012-12-31T10:22:32.847 に答える
0

Info.plist でローカリゼーション ネイティブ開発地域を変更すると、文字列はネイティブ言語バージョンに置き換えられます。eg de に変更すると、「Keine Ergebnisse」になります。これは iOS 9 でテストされています。国際化を介してテキストを変更することができます。たぶん、これは、このスレッドを読んで検索している一部の人々にとって役立つでしょう。

関連: searchDisplayController: ラベル「No Results」を変更

于 2015-12-08T01:27:15.873 に答える