Итак, я чувствую, что в этом вопросе мне не хватает чего-то очевидного. Я использовал makeFirstResponder во всем своем коде для перехода от textField 1 к 2, 2 к 3 и т. д. Кажется, это работает так, как я хочу, но когда загружается новое представление, я хочу, чтобы курсор находился в textField1, и однако следующий код не помещает курсор в textField1 при загрузке.
- (void) awakeFromNib{
[[[self view] window] makeFirstResponder:textField1];
}
Я также попробовал setInitialFirstResponder, и это тоже не дало никакого эффекта (я даже не думаю, что это было бы правильно). Итак, это потому, что он находится в методе awakeFromNib? Может ли кто-нибудь сказать мне, что мне не хватает? Заранее спасибо.
РЕДАКТИРОВАТЬ. Мое решение немного отличалось от принятого ответа, поэтому я решил опубликовать свою реализацию. Поскольку представление, для которого я хотел установить первого ответчика, было подпредставлением, добавленным позже (подумайте о втором экране мастера приложения), я просто добавил метод setCursorToFirstTextField:
- (void) setCursorToFirstTextField {
[[[self view] window] makeFirstResponder:textField1];
}
И обязательно вызвал его после того, как я добавил подвид к пользовательскому представлению в исходном окне.