從Mac OS X有沒有iPhone等效的NSResponder
方法-selectNextKeyView
或-nextValidKeyView
?我知道-becomeFirstResponder
方法,但查看層次結構變得更加複雜時,找出哪個視圖調用該方法並不是很漂亮。專注於iPhone上的下一個有效的按鍵視圖
必須有某種方式來找到這一點,因爲當我在iPhone模擬器中按下標籤時,焦點確實轉到下一個UITextField
。這讓我想知道當我按下標籤時究竟發生了什麼。有任何想法嗎?
更新:這正是我想要的,但_nextKeyResponder
是私人API,所以是一個禁忌。有沒有什麼辦法可以在不使用私有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.
}
好的答案!我很欣賞你進入的細節。 – 2011-06-06 16:16:54