Ich habe eine Elternklasse mit Tabellenansicht und Suchleiste darüber, die eine Unterklasse von Tableview-Controller ist. Delegaten für die searchBar- und searchdisplaycontroller werden in einer separaten Klasse festgelegt, die von UISearchdisplaycontroller geerbt wird. Die Datenquelle und Delegaten für Tabellenansicht und Suchleiste werden in dieser Klasse separat behandelt. Die Klassen sind unter ARC.Kann die Suchansicht nicht schließen
Daher, wenn ein Benutzer auf Suche tippt, überträgt das Steuerelement von FilesListController (übergeordnete) Klasse in diese Klasse. Wenn nun ein Benutzer Taps auf die Schaltfläche Abbrechen, die searchbar Delegat in dieser Klasse gesetzt heißt
- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar
genannt wird, sondern dient nicht dazu, den gesamten Bildschirm searchtableview Entlassung und Rückkehr in die parent. Wenn ich diesen Delegaten jedoch nicht in die Suchklasse schreibe, funktioniert er ordnungsgemäß. Ich habe die searchbar Delegierten in xib setzen und zum Aufruf:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
wie folgt aus:
self.searchResultsTableView.delegate = self;
self.searchResultsTableView.dataSource = self;
[parentFileViewController.searchDisplayController setDelegate:self];
Wohin gehe ich falsch? Danke im Voraus.
[Self.searchDisplayController setActive: NO anima ted: JA]; – jussi
hey danke @jussi .. es funktioniert !!! Aber warum wird es nicht von selbst abgewiesen? Das ist so, als würden wir den searchviewcontroller zum Schließen zwingen. –
, weil einige Informationen speichern möchten, bevor Sie den Controller abmelden. Ich werde dies als Antwort posten. – jussi