我有兩個NSTextField
s:textFieldUserID
和textFieldPassword
。NSTextField輸入密鑰檢測或firstResponder檢測
對於textFieldPassword
,我有一個委託如下:當textFieldPassword
已集中
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
此委託被調用,我按下回車鍵。這正是我想要的。
我的問題是controlTextDidEndEditing
也被調用時,textFieldPassword
有焦點,我把焦點移動到textFieldUserID
(通過鼠標或標籤鍵)。這不是我想要的。
我試過使用controlTextDidChange
通知(每次按鍵都會調用一次),但我無法弄清楚如何檢測回車鍵([textFieldPassword stringValue]
不包括回車鍵)。有人可以幫我把這個弄清楚嗎?
我也嘗試檢測textFieldUserID
是否爲firstResponder
,但它對我無效。這裏是我試用的代碼:
if ([[[self window] firstResponder] isKindOfClass:[NSTextView class]] &&
[[self window] fieldEditor:NO forObject:nil] != nil) {
NSTextField *field = [[[self window] firstResponder] delegate];
if (field == textFieldUserID) {
// do something based upon first-responder status
NSLog(@"is true");
}
}
我確定可以在這裏使用一些幫助!
請對這個代碼是如何回答這個問題闡述。 – JAL 2016-04-01 02:38:37