好吧,所以我覺得在這個問題中有些東西顯而易見。我在整個代碼中使用了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