2011-12-19 22 views
0

我的NSTableView的所有鍵盤事件都被禁用。我不能使用箭頭或用空格鍵選擇一行。我的NSTableView的所有鍵盤事件都被禁用

的NSTableView的屬於NSPanel,這是當前的鍵窗口和NSTableView的是該面板的第一響應者:

print (int) [self isKeyWindow] $1 = 1 

po [self firstResponder] <NSTableView: 0xa7c6cc0> 

如果我從面板(以及其他表中刪除該表)ESC按鈕再次工作。我猜想表事件處理有些問題。

謝謝

回答

0

您的表視圖已失去其第一響應者狀態。窗口中是否有任何其他控件正在響應關鍵事件?嘗試設置窗口的第一響應者,使其他控件拒絕第一響應者,設置nextKeyView路徑,或通過調用[window makeFirstResponder:tableView]手動將該表設置爲第一響應者。

第一個響應者問題可以是PITA,但是如果您閱讀文檔並使用日誌記錄來查看代碼,您可以瞭解這些關鍵事件的進展情況。

+0

我不明白的是,我的板是keyWindow和表是firstResponder:打印(INT)自isKeyWindow] $ 1 = 1,PO [自firstResponder] aneuryzm 2011-12-19 09:26:24

+0

其實面板不響應ESC事件,但如果我從nib文件(也是另一個表)中刪除表,則會再次運行。 – aneuryzm 2011-12-19 10:16:34