我發現教程here 關於如何在大綱視圖中實現拖放操作。我唯一的問題是我不知道從教程中放置代碼的位置。如果你能告訴我應該把代碼放在Xcode項目中以使其工作,我將非常感激。謝謝!使用NSTreeController,帶拖放的NSOutlineView
1
A
回答
4
您可能還想查看this tutorial(還有一個part two,其中詳述了無序樹)。
特別是,鏈接教程包含一個XCode項目,應該讓你開始。查看DragController.m
以查看您將鏈接引用的代碼放在哪裏。
2
它們是委託/數據源方法,因此您可以將它們放入大綱視圖的委託和數據源中。通常這是您的控制器對象,但是您可以通過IB或編程方式連接連接。我實際上建議學習數據源和委託方法在使用綁定或核心數據之前是如何工作的,因爲綁定並不意味着替代較低級別代碼的知識(並且在綁定之前會遇到很多綁定問題對基礎知識有深刻的理解)。
另外,請記住NSTreeController自10.5以來有所改進,從我聽說你應該能夠在不使用私有方法的情況下獲得實際觀察對象。
4
蘋果已經發布了一個解釋如何做到這一點的示例代碼。 http://developer.apple.com/library/mac/#samplecode/DragNDropOutlineView/Introduction/Intro.html
我發現這個好得多,然後我在互聯網上找到的所有其他樣本。
相關問題
- 1. 過濾NSOutlineView/NSTreeController
- 2. NSOutlineView,NSTreeController和willDisplayCell
- 3. 在MonoMac中使用NSOutlineView和NSTreeController
- 4. 在NSOutlineView拖放的問題
- 5. 用NSTreeController過濾NSOutlineView的孩子
- 6. 可可NSOutlineView和拖放
- 7. 如何在使用NSTreeController時查找NSOutlineView行索引
- 8. 如何觀察使用NSTreeController和NSOutlineView編輯項目
- 9. NSOutlineView拖N - 下降
- 10. NSOutlineVIew拖,放不同的窗口(相同的應用程序)
- 11. 如何將NSTreeController,NSOutlineView和Core Data用於「不可見」根項目?
- 12. 如何在不使用NSTreeController的情況下獲取NSOutlineView的選定項目?
- 13. 排序綁定到NSTreeController的NSOutlineView中的列
- 14. 基於視圖的NSOutlineView拖放突出顯示不正確
- 15. NSOutlineView和NSTreeController可以處理數千個對象嗎?
- 16. 使用SendMessage拖動拖放
- 17. 當使用拖放重新排列時,小圓圈線卡在NSOutlineView頂部
- 18. 拖放NSURL不帶「file://」
- 19. 使用jQuery拖放
- 20. 拖放使用jquery
- 21. 使用HTML5拖放
- 22. 使用NSStatusItem拖放
- 23. 使用jquery拖放?
- 24. 使用ChromeDriver拖放
- 25. 乾淨的方式來獲取NSTreeController或NSOutlineView中的對象的NSIndexPath?
- 26. 使用Gridster.js啓用拖放
- 27. 如何在沒有NSTreeController的情況下在NSOutlineView中選擇項目?
- 28. 綁定到NSTreeController的NSOutlineView(節點在窗口大小調整時崩潰)
- 29. EXC_BAD_ACCESS當使用NSOutlineView
- 30. 使用jquery拖放可拖動
我試過在你的鏈接中使用代碼,只需將拖動控制器添加到我的項目中,但它會停止工作的核心數據。 – Joshua 2009-05-30 17:38:22
如果您從鏈接教程編譯並運行XCode項目,您應該看到所有內容都可以像拖放一樣播放。既然如此,這個例子似乎足以回答你所有的問題。我建議你仔細研究教程描述,並遵循所有的步驟,僅以DragController.m爲例。您不可能將其放入您的項目中。 – Naaff 2009-05-30 18:13:28
我再看一眼。 – Joshua 2009-05-30 18:16:28