按Tab键时NSTextField没有注意到失去焦点?

has*_*svn 3 cocoa focus nstextfield

当按下Tab键使NSTextField失去焦点时,我似乎找不到通知的方法.单击另一个控件或按Enter键时,我得到一个很好的textDidEndEditing,但是如果我通过按Tab键更改焦点则不会.

还试图为此目的猛拉KeyDowndoCommandBySelector,但我无处可去.

有任何想法吗?

提前致谢

编辑:

忘了提,但我也试过resignFirstResponder.这是我试过的代码:

- (BOOL)resignFirstResponder
{
    NSRunAlertPanel(@"", @"Lost Focus",@"OK", nil, nil);
    return [super resignFirstResponder];
}
- (BOOL)becomeFirstResponder
{
    NSRunAlertPanel(@"", @"Got focus",@"OK", nil, nil);
    return [super becomeFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这里发生的事情是,当获得焦点时,一个接一个地调用becomeFirstResponder和resignFirstResponder.但是当将焦点从控制转移时,两者都没有.

Ada*_*dam 6

"当我点击另一个控件或按Enter键时,我得到了一个很好的textDidEndEditing,但是如果我通过按Tab键更改焦点则没有."

截至2011年4月,使用OS X 10.6库,我正在使用:

- (void)controlTextDidEndEditing:(NSNotification *)aNotification
Run Code Online (Sandbox Code Playgroud)

...听NSTextField失去焦点,并且它正常工作.在你的情况下这可能吗?它是否曾经被打破,但现在由Apple修复?

如果是这样,那就更少了代码:).