我有一個NSTableView
,我希望允許用戶拖放視頻文件。當他們放棄文件時,它將作爲表格視圖中的一行添加。將文件拖放到NSTableView上?
我該怎麼做呢?目前的tableview的由陣列控制器(從一個NSMutableArray的獲取其數據)
我發現this文檔獲取其數據,但似乎無法使它工作..
我..
- 提出了「TableCon」類(我改變從NSTableView的,不是NSObject的繼承)
- 改變了NSTableView的類TableCon
- 的NSTableView的的委託出口設置爲該類
- 在TableCon的init
- 實施
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender;
(再次TableCon)
..但是,什麼叫registerForDraggedTypes
,它就像我從來沒有改變任何東西(沒有錯誤),我究竟做錯了什麼?
編輯:我已經試過落實波阿斯Stuller的建議,同時也找到了解決的this描述(first reply包括解決第一篇文章)。所以我現在做的是..
- 子類NSArrayController的,哪些資訊內容表視圖(TableListCon)
- 添加
tableView
出口TableListCon(並指出其在NSTableView的) - 實施validateDrop,writeRowsWithIndexes ,並接受TableListContent中的Drop
- 在tableView插座上調用registerForDraggedTypes。
同樣,沒有錯誤/警告,但只有awakeFromNib方法好像是叫(其他方法都不是所謂的)
這些是數據源方法。您需要將表視圖的dataSource出口掛接到實現這些方法的類,以便調用它們。 – 2009-05-05 01:39:31
Ohhhhh,這就是我做錯了!通過「數據源」我假設它意味着陣列控制器!現在所有的工作都很完美,您能否將這些信息添加到您的答案中,以便我可以接受它?謝謝波阿斯! – dbr 2009-05-05 02:00:32