我有两个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