好的,所以我觉得在这个问题中我明显遗漏了一些东西。我在整个代码中使用 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];
}
并确保在我将子视图添加到原始窗口的自定义视图后调用它。