Есть ли iPhone, эквивалентный для NSResponder
методы -selectNextKeyView
или -nextValidKeyView
из Mac OS X? Я знаю о -becomeFirstResponder
метод, но узнающий, который представление обратиться, который не очень симпатичен, когда иерархии представления становятся более сложными.
Должен быть некоторый способ для обнаружения этого как тогда, когда я нажимаю вкладку, когда в iPhone Simulator, фокус действительно правильно переходит к следующему UITextField
. Это заставило меня задаться вопросом, что точно происходит, когда я нажимаю вкладку. Какие-либо идеи?
Обновление: Это делает точно, что я хочу, но _nextKeyResponder
частный API, таким образом, нет - нет. Там какой-либо путь состоит в том, чтобы сделать 'поддельное' нажатие клавиши Tab, не используя частный API?
- (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.
}
В делегате UITextField
-textFieldDidEndEditing:
переключайтесь между различными текстовыми полями (например, проверяя тег текстового поля
собственности).
Когда вы сопоставляете одно текстовое поле, установите другое текстовое поле или другой элемент управления, чтобы он стал следующим респондентом.