Ho una classe genitore con tableview e searchbar che è una sottoclasse di controller tableview. I delegati per la ricercaBar e searchdisplaycontroller sono impostati in una classe separata ereditata da UISearchdisplaycontroller. L'origine dati e i delegati per tableview e searchbar vengono gestiti in questa classe separatamente. Le classi sono sotto ARC.Impossibile chiudere la vista di ricerca
Quindi, quando un utente tocca la ricerca, il controllo trasferisce dalla classe FilesListController (padre) a questa classe. Ora, quando un utente tocca pulsante di annullamento, il delegato searchbar impostati in questa classe cioè
- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar
è chiamato, ma non serve allo scopo di respingere il searchtableview schermo intero e tornare alla parentviewcontroller. Tuttavia, se non scrivo questo delegato nella classe di ricerca, funziona correttamente. Ho impostato i delegati Searchbar nel XI ter e a chiamare:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
come questo:
self.searchResultsTableView.delegate = self;
self.searchResultsTableView.dataSource = self;
[parentFileViewController.searchDisplayController setDelegate:self];
Dove sto andando male? Grazie in anticipo.
[self.searchDisplayController setActive: NO anima Ted: YES]; – jussi
hey grazie @jussi .. funziona !!! Ma perché non respinge da solo? Questo è come se stessimo costringendo il searchviewcontroller a chiudere. –
perché alcuni desiderano memorizzare alcune informazioni prima di dissociare il controller. Pubblicherò questo come una risposta. – jussi