has*_*svn 3 cocoa focus nstextfield
当按下Tab键使NSTextField失去焦点时,我似乎找不到通知的方法.单击另一个控件或按Enter键时,我得到一个很好的textDidEndEditing,但是如果我通过按Tab键更改焦点则不会.
还试图为此目的猛拉KeyDown和doCommandBySelector,但我无处可去.
有任何想法吗?
提前致谢
编辑:
忘了提,但我也试过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.但是当将焦点从控制转移时,两者都没有.
"当我点击另一个控件或按Enter键时,我得到了一个很好的textDidEndEditing,但是如果我通过按Tab键更改焦点则没有."
截至2011年4月,使用OS X 10.6库,我正在使用:
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
Run Code Online (Sandbox Code Playgroud)
...听NSTextField失去焦点,并且它正常工作.在你的情况下这可能吗?它是否曾经被打破,但现在由Apple修复?
如果是这样,那就更少了代码:).
| 归档时间: |
|
| 查看次数: |
7223 次 |
| 最近记录: |