好吧,所以我觉得在这个问题中有些东西显而易见。我在整个代码中使用了makeFirstResponder,从textField 1移动到了2,2到3等。这似乎按照我的意图工作,但是当新视图加载时,我希望光标位于textField1中,并且但下面的代码在加载时不会将光标置于textField1中。NSTextField设置光标
- (void) awakeFromNib{
[[[self view] window] makeFirstResponder:textField1];
}
我也试过setInitialFirstResponder,并且没有任何效力,要么(我甚至不认为这是正确的。)那么,是不是因为它是在awakeFromNib方法?任何人都可以告诉我我错过了什么吗?提前致谢。
编辑 - 我的解决方案与公认的答案略有不同,所以我想我会发布我的实施。因为观点我想设置第一个响应者是后来加了子视图(想想一个应用程序向导的第二个屏幕),我只是增加了一个setCursorToFirstTextField方法:
- (void) setCursorToFirstTextField {
[[[self view] window] makeFirstResponder:textField1];
}
,并确保调用它,我有后将子视图添加到原始窗口上的自定义视图中。
你的解释是绝对正确的,是对我很有帮助,但是因为我想设置firstResponder的观点是不是我的应用程序窗口的第一个视图(想想在向导的第二个屏幕),该解决方案我执行的内容稍有不同(请参阅编辑),但您的回答非常有帮助。 – Katie