我正試圖找到一種方法來更改所選控件按鈕的顏色。這是可能的繼承NSSegmentedControl或NSSegmentedCell或任何其他方式?如果是這樣,有人可以告訴我方式嗎?如何更改NSSegmentedControl按鈕的選擇顏色
0
A
回答
0
您需要繼承NSSegmentedCell並且覆蓋下列方法:
- (NSColor *)highlightColorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
從文檔:
返回繪製高亮選擇時,接收器使用的顏色。
你不應該假設一個單元格必然要用selectedControlColor返回的值來繪製自己。單元格可能希望使用不同的選擇高亮顏色進行繪製,具體取決於諸如controlView的關鍵狀態之類的內容。
0
你也可以繼承NSSegmentedCellË覆蓋drawSegment方法:
override func drawSegment(_ segment: Int, inFrame frame: NSRect, with controlView: NSView) {
var color: NSColor
if selectedSegment == segment {
color = NSColor.red
} else {
color = NSColor.white
}
color.setFill()
frame.fill()
super.drawSegment(segment, inFrame: frame, with: controlView)
}
相關問題
- 1. 如何在選擇按鈕時更改按鈕的顏色?
- 2. 如何更改按鈕顏色替代選擇按鈕?
- 3. 選擇行並更改按鈕顏色
- 4. 按鈕顏色更改時選擇
- 5. 更改按鈕的背景顏色與我選擇的顏色
- 6. 如何更改多選擇下拉列表按鈕的顏色
- 7. 如何更改wordpress顏色選擇器按鈕文本?
- 8. 如何在android中更改按鈕選擇或點擊顏色?
- 9. 如何更改按鈕的tabcontrol顏色?
- 10. 如何更改gridView的按鈕顏色
- 11. 如何更改按鈕的顏色?
- 12. 如何更改按鈕的顏色
- 13. 如何更改UIActionsheet按鈕的顏色?
- 14. 更改顏色的按鈕
- 15. 顏色選擇器按鈕
- 16. 更改單選按鈕顏色
- 17. 更改檢查單選按鈕顏色
- 18. 單選按鈕更改文本顏色
- 19. 如何更改UITabbar選擇的顏色?
- 20. 當選擇單選按鈕時,jquery更改div背景顏色?
- 21. 如何更改按鈕顏色?
- 22. 如何更改Android按鈕顏色onClick?
- 23. 如何更改顏色點擊按鈕?
- 24. 如何更改WinForms按鈕顏色?
- 25. 如何更改按鈕顏色
- 26. 更改當前選擇的菜單按鈕的背景顏色
- 27. IBAction按鈕更改顏色?
- 28. 更改按鈕顏色
- 29. 按鈕更改顏色
- 30. 更改按鈕顏色
我已經嘗試過這一點。這個NSCell方法在NSSegmentedCell中從來沒有被調用過,在文檔中已經提到了一些東西 - 「你不應該假設一個單元格會想要用selectedControlColor返回的值來繪製自己,單元格可能希望用不同的選擇高亮顏色取決於諸如controlView的關鍵狀態等事情。「_ – memis
我會爲此提交一個錯誤報告。該文件說,你可以使用這種方法來改變突出顯示的顏色,但沒有說它沒有被使用。唯一的解決方案似乎是重寫-drawInteriorWithFrame:inView:並自己處理所有繪圖。 – floschliep