Sto utilizzando un UISearchDisplayController nella mia app. Quando l'utente seleziona un elemento nei risultati di ricerca restituiti, disattivo UISearchDisplayController. La disattivazione del controller cancella il testo digitato dall'utente. Voglio tenerlo lì. Provo ad assegnare il testo indietro a UISearchBar impostandolo nuovamente dopo che il controller è stato disattivato. Il testo appare nella barra di ricerca, ma questo renderà UISearchDisplayController nuovamente attivo anche se ho disabilitato il delegato! Questo problema si verifica solo su iOS 7. Prima di iOS7, il codice seguente funziona in modo affascinante.Come mantenere il testo nella barra di ricerca quando si rifiuta UISearchDisplayController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSUInteger row = [indexPath row];
NSString *term = [keywordSuggestion objectAtIndex:row];
[search resignFirstResponder];
[self handleSearchForTerm:term];
}
-(void)handleSearchForTerm:(NSString *)searchTerm {
[searchDisplayController setActive:NO animated:YES]; //searchbar text will be lost
searchDisplayController.delegate = nil;
search.text = term;
searchDisplayController.delegate = self;
}
è che ci sono un modo che io possa impostare il testo della UISearchBar senza avere l'UISearchDisplayController che è associato con il diventare attivo?