我創建基於視圖的表視圖,並且在創建自定義組行時遇到一些麻煩。我想在我的組行中添加文本,並且Apple提供的默認行爲非常好,但我需要更改實際行的顏色和外觀。我已經分類NSTableRowView
,它的工作原理,但不幸的是不是很好。特別是當它開始浮動時,我還沒有想出如何更改視圖的alpha而不會使文本alpha發生變化。nstableview自定義組行
回答
這其實很容易。創建NSTableRowView的新子類並覆蓋方法drawRect :. 最好總是調用[super drawRect:dirtyRect];在開始時。 然後你有屬性self.isGroupRow。如果是,那麼只需繪製自定義組行。
您可以使用tableView:rowViewForRow:方法在Table View委託中加載自定義行。 只需返回它的一個實例就行了
如果我正確理解你的問題,這個解決方案應該爲你工作:
Draw a custom NSTableRowView depending on if next row is group row
如果這隻會讓你的一部分,也許你可以跟進更具體的問題。 – paulmelnikow
感謝您的幫助。在那個例子中,他通過僅使用一個NSTextField來自動提供淺灰色和浮動屬性(如果需要),從而形成一個組。在我的情況下,我需要將組行更改爲較深的顏色,並保持浮動屬性。我所做的是使用NSTableRowView的子類來爲組行創建自定義繪圖,但我無法使其浮動。但現在我想我應該只是繼承NSTextFieldCell而不是?所以基本上我爲子組行劃分了什麼樣的自定義繪圖,以及使它浮動的正確方法是什麼? – rick
什麼是浮動? – paulmelnikow
- 1. 自定義NSTableView與自定義NSTableCellView?
- 2. 如何自定義NSTableView行draggingImage?
- 3. 帶自定義NSColumnHeaderCell的NSTableView
- 4. mouseDown:在NSTableView中的自定義NSTextField中
- 5. NSTableView中的自定義單元格
- 6. 在NSTableView/NSOutlineView中的自定義視圖
- 7. 自定義NSTableHeaderCell NSTableView的清晰背景
- 8. NSTableView與自定義單元格
- 9. NSTableView列中的自定義NSView
- 10. 通知新的NSTableView組行
- 11. 自定義選定的NSTableView單元圖標
- 12. 如何將NSTableView綁定到自定義集合類?
- 13. NSTableView - 預定某一行
- 14. NSTableView選定的行高亮
- 15. 定製NSTableView行背景
- 16. SSRS行分組自定義和總計
- 17. PyGTK的自定義組合框行爲
- 18. NSTableView分組
- 19. 自定義組件綁定:「'
- 20. NSTableView在添加到SplitView的自定義視圖中崩潰
- 21. 什麼是自定義NSTableView單元最簡單的方法?
- 22. 處理基於視圖的自定義選擇樣式NSTableView
- 23. 如何使用自定義視單元格創建NSTableview
- 24. 自定義基於視圖的nstableview調整大小
- 25. 以NSTableView作爲拖動源的自定義拖動圖像
- 26. nstableview拖放自定義單元格視圖
- 27. 可可:NSCell中針對NSTableView的自定義文本
- 28. 如何將自定義表格單元格視圖導入NSTableView?
- 29. 以編程方式創建NSTableView和自定義NSViewController
- 30. 如何在macOS 10.12+上自定義NSTableView標題?
基本上是我最終做了什麼,除了我認爲drawBackground是我使用的方法。謝謝回覆! – rick