我正试图找到一种方法来更改所选控件按钮的颜色。这是可能的继承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. 如何在android中更改按钮选择或点击颜色?
- 8. 如何更改wordpress颜色选择器按钮文本?
- 9. 如何更改UIActionsheet按钮的颜色?
- 10. 如何更改按钮的tabcontrol颜色?
- 11. 如何更改按钮的颜色
- 12. 如何更改按钮的颜色?
- 13. 如何更改gridView的按钮颜色
- 14. 更改颜色的按钮
- 15. 颜色选择器按钮
- 16. 单选按钮更改文本颜色
- 17. 更改检查单选按钮颜色
- 18. 更改单选按钮颜色
- 19. 如何更改UITabbar选择的颜色?
- 20. 当选择单选按钮时,jquery更改div背景颜色?
- 21. 如何更改颜色点击按钮?
- 22. 如何更改Android按钮颜色onClick?
- 23. 如何更改按钮颜色?
- 24. 如何更改WinForms按钮颜色?
- 25. 如何更改按钮颜色
- 26. 更改当前选择的菜单按钮的背景颜色
- 27. 更改radcombobox按钮颜色
- 28. 更改AlertDialog.Builder按钮颜色
- 29. 按钮更改颜色
- 30. 更改按钮颜色
我已经尝试过这一点。这个NSCell方法在NSSegmentedCell中从来没有被调用过,在文档中已经提到了一些东西 - “你不应该假设一个单元格会想要用selectedControlColor返回的值来绘制自己,单元格可能希望用不同的选择高亮颜色取决于诸如controlView的关键状态等事情。“_ – memis
我会为此提交一个错误报告。该文件说,你可以使用这种方法来改变突出显示的颜色,但没有说它没有被使用。唯一的解决方案似乎是重写-drawInteriorWithFrame:inView:并自己处理所有绘图。 – floschliep