Esiste un equivalente iPhone per i metodi NSResponder
-selectNextKeyView
o -nextValidKeyView
da Mac OS X? Conosco il metodo -becomeFirstResponder
, ma scoprire quale vista per chiamarla su non è molto carina quando le gerarchie di vista diventano più complicate.Concentrarsi sulla vista chiave valida successiva su iPhone
Ci deve essere un qualche modo per scoprirlo come quando premo la scheda quando nell'iPhone Simulator, la messa a fuoco passa correttamente al successivo UITextField
. Questo mi ha fatto chiedere cosa succede esattamente quando premo tab. Qualche idea?
Aggiornamento: questo fa esattamente quello che voglio, ma _nextKeyResponder
è un'API privata, quindi un no-no. C'è un modo per fare un tasto 'falso' premere il tasto tab senza usare l'API privata?
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
// Try to find next responder
UIView *nextResponder = (UIView *)[self.view _nextKeyResponder];
if (nextResponder) {
// Found next responder, so set it.
[nextResponder becomeFirstResponder];
[self.tableView scrollRectToVisible:[self.tableView convertRect:[nextResponder frame] fromView:nextResponder] animated:YES];
} else {
// Not found, so remove keyboard.
[textField resignFirstResponder];
}
return NO; // We do not want UITextField to insert line-breaks.
}
Bella risposta! Apprezzo il dettaglio in cui sei entrato. –