Sto facendo un'opzione UISearchBar nella barra di navigazione della mia app. La mia app è composta da più viste e sottoview. Ho questa vista principale che ha altri 3 punti di vista su di sé. uno di questi è vuoto (per ora) gli altri 2 hanno visualizzazioni di tabelle su di essi.dimettersi tastiera quando si perde la messa a fuoco su uisearchbar
Desidero mostrare la tastiera quando cerco e mi nascondo quando eseguo la ricerca effettiva o quando tocchi/clic all'esterno della barra di ricerca. Im usando il searchbardelegate come richiesto.
Im in grado di nascondere la tastiera utilizzando [searchBar resignFirstResponder] nei seguenti modi.
- Quando si preme il tasto di ritorno.
- Quando annullo la ricerca manualmente
- Quando si preme uno dei pulsanti della tastiera per cercare o annullare.
quando tocco una parte vuota dello schermo utilizzando
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [[event allTouches] anyObject]; if ([mySearchBar isFirstResponder] && [touch view] != mySearchBar) { [mySearchBar resignFirstResponder]; } [super touchesBegan:touches withEvent:event]; }
Quello che non sembra di essere in grado di fare è rendere rispondere a toccare uno dei miei 2 tableviews. O quando riempio la mainview per contenere qualcosa di completamente diverso.
Ive ha provato a cambiare il metodo touchesbegan per abbandonare la barra di ricerca quando si toccano le visualizzazioni di tabella ma non ha funzionato finora.
Ho provato diverse altre cose trovate dal mio caro amico Sig. google, ma tutto sembra essere un'altra cosa di cui ho bisogno.
Qualcuno ha qualche idea su cosa potrei fare per risolvere questo problema?
MODIFICA: Appare in modo che, quando si utilizzano i punti di interruzione, touchesbegan-metodo risponda a backgroundview ma non risponde quando tocco una delle tabelle o la barra di navigazione (contenente la barra di ricerca uisearch).