[英]NSTableCellView / NSTextField did end editing notification — without text change?
文本字段結束編輯后如何獲得通知(按下輸入鍵,在文本字段外部單擊,在同一列內部單擊但在文本字段外部等)
我檢查了
- (void)textDidEndEditing:(NSNotification *)aNotification
{
//some code here
}
但是僅當文本實際更改時才調用此通知。 即使未進行任何文本更改,也需要通知我。
編輯:第一個響應者已更改的某種通知也將起作用。
有任何想法嗎?
觀察窗口的firstResponder
狀態...
…
[theWindow addObserver:self forKeyPath:@"firstResponder" options:NSKeyValueObservingOptionOld context:NULL];
…
…並閱讀現場編輯的委托:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"firstResponder"])
{
NSResponder *oldResponder =change[NSKeyValueChangeOldKey];
if ([oldResponder isKindOfClass:[NSTextView class]])
{
NSTextView *editor = (NSTextView*)oldResponder;
NSTextField *textField = (NSTextField*)editor.delegate;
NSLog(@"This text field lost the focus: %@", textField.identifier);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.