0

UISearchBarから検索結果を取得した後、結果はテーブルビューに正しく表示されますが、ビューは「グレー表示」になっています(下の画像を参照)。これに関するヘルプはありがたいですが、Appleのドキュメントで解決策を見つけることができません。

これは、検索ボタンを押したときに起動される私のコードです。

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
isSearchOn = YES;
canSelectRow = YES;
self.tableView.scrollEnabled = YES;

CityLookup *cityLookup = [[CityLookup alloc] findCity:searchBar.text];

if ([cityLookup.citiesList count] > 0) {
    tableCities = cityLookup.citiesList;
}

[cityLookup release];

isSearchOn = NO;

self.searchBar.text=@"";

[self.searchBar setShowsCancelButton:NO animated:YES];
[self.searchBar resignFirstResponder];
[self.navigationController setNavigationBarHidden:NO animated:YES];

    [self.tableView reloadData];

}

そして、これがテーブルビューが更新される方法です。

-(UITableViewCell *)tableView:(UITableView *)tableView
    cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *kCellID = @"cellID";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellID];
if (cell == nil)
{
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellID] autorelease];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}

NSString *cellValue = [tableCities objectAtIndex:indexPath.row];



cell.textLabel.text = cellValue;
    return cell;
}

代替テキスト

4

2 に答える 2

0

検索を押したときに検索バーを非表示にしない場合は、次を試してください。

[self.navigationController setNavigationBarHidden:YES animated:YES];
于 2010-11-26T17:48:03.153 に答える
0

次の行で完全なパッケージを使用している場合はUISearchDisplayController、検索インターフェイスを削除する必要があります。

[self.searchDisplayController setActive:NO animated:YES];

使用してUISearchDisplayControllerいない場合は、チェックアウトして、ニーズに合わないかどうかを確認することをお勧めします.

備考: 投稿されたコードには、テーブル ビューをグレー表示するために使用したビューを削除するものは何もありません。UISearchDisplayControllerそのため、検索インターフェイスを表示するコードを使用していない場合は、検索インターフェイスを削除するために何をする必要があるかを確認してください。

于 2010-11-27T17:19:26.167 に答える