2010-11-30 57 views
1

我有一個NSTableView,其中我需要能夠攔截可編輯單元格內的鍵盤事件並用字符串替換單元格。例如,按「a」並截取「a」,並在表重新加載時分配值「Alpha」。實際情況有點複雜,我也在處理HID設備,但這是另一回事。我只想說,我只想進入編輯模式並停止顯示鍵盤生成的值。在NSTableView中過濾文本

這個(顯示「阿爾法」)的後半部分很容易,但我無法弄清楚問題的第一部分。如果我繼承這個表並使其成爲第一響應者,我可以收到keyDown:事件,但是一旦用戶雙擊某個單元並開始輸入,此操作就會消失。

由於沒有其他NSTableView組件(NSCellNSTextFieldCell等)從NSResponder派生,我假設的存在埋在某處有一個NSTextField

那麼,一旦用戶進入單元格編輯模式,過濾文本的最佳方式是什麼?

回答

1

由於總是會發生的:這方面的工作八個小時,看完所有的文檔五次,然後訴諸淨後,我找到了答案五分鐘後:

- (BOOL)textShouldBeginEditing:(NSText *)textObject. 

對不起消耗帶寬。