Sto lavorando a un'applicazione di tabulazioni e una delle schede ha un UISearchDisplayController collegato a una UISearchBar. È tutto collegato alla NIB e sta funzionando. Quando toccherò la barra di ricerca, i pulsanti Scope e Cancel volano in ecc, e il delegato della ricerca aggiorna correttamente la tabella dei risultati.UISearchDisplayController non funziona quando viene creato nel codice?
Comunque, sto cercando di attuare lo stesso codice in viewDidLoad
messaggio invece del pennino, tuttavia quando elimino il controller display di ricerca dalla NIB e rimuovere il mio codice per creare lo stesso controller nella funzione, esso doesn lavorare È come se non fosse stata stabilita una connessione fondamentale in modo che non venga chiamata tutta la mia funzionalità di delega di ricerca.
Ecco il mio funzionante Versione NIB del controller di visualizzazione di ricerca. È collegato alla barra di ricerca, la sottoclasse UINavigationController
(MASearchController
) e la vista radice di tale rete è collegata come searchContentsController
.
alt text http://img192.imageshack.us/img192/3050/screenshot20100307at304.png
Ora, questo è ciò che ci si aspetta di fare in codice per creare lo stesso, giusto? Quello che sto facendo è lasciare UISearchBar nella NIB per eliminare un pezzo del puzzle alla volta nel codice.
// [MASearchController viewDidLoad]
UISearchDisplayController *searchController = [[[UISearchDisplayController alloc]
initWithSearchBar:searchBar
contentsController:[[self viewControllers] objectAtIndex:0]] autorelease];
[searchController setDelegate:self];
[searchController setSearchResultsDelegate:self];
[searchController setSearchResultsDataSource:self];
Ho controllato tutti gli oggetti in fase di esecuzione e si sono verificati tutti. Essenzialmente ho cancellato il controller del display di ricerca dalla NIB e poi ho inserito il codice per crearlo nel messaggio viewDidLoad
.
Perché questo non funziona? Viene visualizzata la tastiera di ricerca ma nessuna delle funzioni di ricerca e animazione dei pulsanti funziona ???
Stavo correndo lo stesso problema. Grazie per aver postato questo! – DOOManiac