當NSTextField按下Tab鍵失去焦點時,我似乎無法找到通知的方法。當點擊另一個控件或按Enter鍵時,我會得到一個不錯的textDidEndEditing,但如果通過按下Tab鍵更改焦點,則不會。NSTextField在按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];
}
奇怪的是,這裏所發生的是,越來越焦點時,既becomeFirstResponder和resignFirstResponder被稱爲一前一後。但是,當把焦點從控制轉向時,它們都不是。
見更新的帖子。我曾嘗試過,但它不像預期的那樣表現 – hasvn 2010-07-07 09:31:23
我明白爲什麼了。一個窗口有一個字段編輯器,用於窗口中需要文本的所有te對象。當你輸入一些東西時,你實際上是在字段編輯器中輸入它,而不是文本字段本身。因此,文本字段成爲第一響應者,然後立即辭去第一響應者,因爲字段編輯器成爲第一響應者。 – regulus6633 2010-07-07 11:15:20