gpt4 book ai didi

cocoa - NSTextField 在按 Tab 时没有注意到失去焦点?

转载 作者:行者123 更新时间:2023-12-03 16:16:31 26 4
gpt4 key购买 nike

我似乎找不到一种方法来在 NSTextField 通过按 Tab 键失去焦点时收到通知。当单击另一个控件或按 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];
}

奇怪的是,这里发生的情况是,当获得焦点时,becomeFirstResponder 和 resignFirstResponder 都会被依次调用。但当焦点从控件上移开时,两者都不是。

最佳答案

"I get a nice textDidEndEditing when clicking another control or when pressing Enter, but not if I change the focus by pressing the Tab key."

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

- (void)controlTextDidEndEditing:(NSNotification *)aNotification

...监听 NSTextField 失去焦点,并且它工作正常。在你的情况下这可能吗?是不是以前有问题,但现在被 Apple 修复了?

如果是这样,代码就会少得多:)。

关于cocoa - NSTextField 在按 Tab 时没有注意到失去焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com