默認情況下,雙擊觸發器在NSTableView中重命名。NSTableView雙擊/重命名
我怎樣才能讓雙擊而不是觸發我自己的自定義代碼(如打開雙擊文件)?
還有:如何讓重命名像在Finder中,您首先單擊,然後再次單擊並快速移動鼠標指針?這就是在Finder中觸發重命名的方式。我想在NSTableView中那樣。
默認情況下,雙擊觸發器在NSTableView中重命名。NSTableView雙擊/重命名
我怎樣才能讓雙擊而不是觸發我自己的自定義代碼(如打開雙擊文件)?
還有:如何讓重命名像在Finder中,您首先單擊,然後再次單擊並快速移動鼠標指針?這就是在Finder中觸發重命名的方式。我想在NSTableView中那樣。
根據文檔,NSTableView有-setDoubleAction:。單擊一次選擇一行,然後單擊要編輯的文本單元格的行爲就像Finder默認情況下(並且這與Finder都沒有任何關係,請快速移動指針 - 嘗試它)。
點擊一次選擇,然後再次點擊開始重命名。點擊兩次(足夠快是雙擊),並處理「雙重」操作。
我想補充一些信息,如果你點擊兩次文字,它將進入編輯模式,而不是執行你的自定義動作。 爲了執行您的操作並阻止進入編輯模式,單元格也應該被設置爲不可編輯,如@JWWalker所寫。 – xyz 2012-02-25 21:09:57
Xcode表視圖連接檢查器有一個等效的已發送操作:「doubleAction」。控制 - 從它拖動到你的控制器(或到它的頭文件來創建操作方法) – 2018-01-30 19:32:50
@PaulCollins整潔!我想知道這是什麼時候加入的。很久以前,我知道它根本不在IB中。 – 2018-02-06 18:04:57
您必須使文本單元格不可編輯以便您的表格視圖獲得雙擊操作消息。
你看過NSBrowser嗎?它可能會更好地滿足您的需求,因爲它是Finder使用的。 – theMikeSwan 2010-08-04 21:13:10
NS瀏覽器的雙重動作和點擊編輯功能與表格視圖相同(這是OP詢問的內容)。 – 2010-08-04 22:29:34