我需要给我的用户从一组12种颜色中选择一种颜色的选项,我的想法是使用NSColorWell,但是我无法找到将颜色选择器中的选项限制在12项上的方法。
发布于 2018-06-27 12:35:21
对于未来的谷歌员工,将NSPopUpButton划分为子类,并:
private var colors: [NSColor]?
func setColors(_ colors: [NSColor]) {
self.colors = colors
self.reloadMenu()
}
private func reloadMenu(){
guard let colorsArray = colors else { return }
var image: NSImage
for index in 0..<itemArray.count {
image = NSImage(size: NSSize(width: 100, height: 13))
image.lockFocus()
let color = colorsArray[index]
color.setFill()
let path = NSBezierPath(rect: NSRect(x: 0, y: 0, width: 100, height: 13))
path.fill()
image.unlockFocus()
itemArray[index].image = image
}
self.synchronizeTitleAndSelectedItem()
self.display()
}https://stackoverflow.com/questions/50818369
复制相似问题