我一直在爲Mac製作菜單式筆記記錄應用程序。它是用Objective-C和Cocoa編寫的,我正在使用BWToolkit。我的問題是在BWTransparentTableView中獲取keyDown:和mouseDown:事件,它是NSTableView的子類。我只是無法讓它工作。我試過搜索互聯網,有些地方說你必須繼承NSTableView。我已經嘗試過,但仍然無效。我對Objective-C和Cocoa相當陌生,而且我可能只是在做一些不正確的事情。NSTableView keyDown:和mouseDown:
1
A
回答
4
NSTableView
中的項目在雙擊緩慢或按下回車鍵時將自動開始編輯。確保表視圖,單元格和數組控制器(如果使用)被標記爲可編輯。
如果您未使用NSArrayController
,請確保您的表格視圖有一個委託並且它對tableView:shouldEditTableColumn:row:
作出響應。
要處理雙擊,你只需要設置表視圖的doubleAction
:
- (void)awakeFromNib
{
[tableView setTarget:self];
[tableView setDoubleAction:@selector(doubleClickInTable:)];
}
- (void)doubleClickInTable:(id)sender
{
NSInteger rowIndex = [sender selectedRow]; //Use selectedRowIndexes if you're supporting multiple selection
//Handle the double click
}
注意,這些方法都需要你繼承NSTableView
。
+0
謝謝!它工作完美。這只是我在文檔中閱讀過,如果單元格是可編輯的,則不會發送doubleAction:。 – ausgat 2009-11-23 01:57:06
+0
爲我完美工作。謝謝! – 2011-11-06 02:26:26
相關問題
- 1. mouseDown:在NSTableView中的自定義NSTextField中
- 2. 雙方的MouseDown和KeyDown事件雖然調焦設置爲true
- 3. 需要更多的控制文本框的MouseDown和KeyDown
- 4. KeyDown和NSTableViewCocoa
- 5. Listbox mousedown和doubleclick
- 6. Mouseup和Mousedown
- 7. 將mousedown事件與keydown事件相結合
- 8. 覆蓋keyDown:在NSTableView類別中禁用箭頭鍵處理
- 9. 重載的keyDown導致問題的NSTableView的
- 10. NSTableView的和SearchField
- 11. KeyDown和KeyUp Multiple
- 12. mousedown和mouseup綁定和解除mousedown處理程序
- 13. NSTableView綁定和tableViewSelectionDidChange
- 14. NSPopover和NSTableView單元
- 15. KeyDown和Cocoa示例
- 16. KeyDown和KeyUp事件
- 17. KeyDown事件和drag'n'drop
- 18. fireup與keyup和keydown
- 19. KeyPress和KeyDown事件
- 20. KeyDown/KeyPress和索引
- 21. Javascript mouseup和mousedown事件
- 22. MouseDown事件和進度條
- 23. Jquery Mousedown和Mouseover問題
- 24. mouseDown和mouseUp時重繪NSButton
- 25. 區分mouseup mousedown和點擊
- 26. while-mousedown
- 27. NSTableView和數據驗證?
- 28. NSTableView和懸停在列上
- 29. 差異NSOutlineView和NSTableView的
- 30. NSTableView綁定和觀察者
發佈你的子類嘗試的相關部分以及你看到的錯誤(超出「無法正常工作」,即:-))。從那開始最容易。 – 2009-11-22 20:08:14
我試着在名爲MyTableView的類中繼承NSTableView。類所做的唯一的事情就是覆蓋keyDown :,但是keyDown:永遠不會被調用。有沒有其他方法可以在NSTableView中獲取鍵盤和鼠標事件?我真正想要的是允許雙擊表格視圖中的項目以打開它們,並在按下輸入或緩慢雙擊時重命名。 – ausgat 2009-11-22 20:38:45
你想做什麼,你認爲需要重寫'keyDown:'和'mouseDown:'? – 2009-11-23 00:35:04