2010-11-26 3 views
0

Nach dem Abrufen von Suchergebnissen aus einer UISearchBar, erscheinen die Ergebnisse in meiner Tabellenansicht korrekt, aber die Ansicht ist 'ausgegraut' (siehe Bild unten). Jede Hilfe hier ist willkommen, ich kann keine Lösung der Apple-Dokumentation finden .Nachdem ich mein TableView mit Inhalt neu geladen habe, erscheint es immer noch ausgegraut, bis ich es anklicke ... warum?

Dies ist mein Code, der beim Auftreffen auf die Suche ausgelöst wird:

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

[email protected]""; 

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

    [self.tableView reloadData]; 

} 

Und das ist, wie die Tabellenansicht aktualisiert wird:

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

alt text

versteckt

Antwort

0

Wenn Sie verwenden sollten das volle Paket mit einem UISearchDisplayController die folgende Zeile die Suchoberfläche entfernen:

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

Wenn Sie nicht UISearchDisplayController verwenden würde ich empfehlen es und sehen, zu überprüfen, ob es nicht gerecht ist Deine Bedürfnisse.

Anmerkung: Es gibt nichts in Ihrem geposteten Code, das die Ansicht entfernt, die Sie zum Ausgrauen der Tabellenansicht verwendet haben. Wenn Sie also nicht UISearchDisplayController verwenden, schauen Sie in den Code, der die Suchoberfläche anzeigt, um zu sehen, was Sie tun müssen, um sie zu entfernen.

+0

funktioniert ... top stuff mate! – squeezemylime

0

Sie nicht Ihre Suchleiste bei der Suche, versuchen:

[self.navigationController setNavigationBarHidden:YES animated:YES]; 
+0

das verbirgt nur die Navigationsleiste, nicht die SearchBar..the Tabelle hat immer noch den ausgegrauten Hintergrund .. – squeezemylime

+0

Ups, versuchen Sie, Ihre Suchleiste dann zu entlassen. – WrightsCS

+0

versucht, dass, kein Würfel ... – squeezemylime

Verwandte Themen