Swift 如何限制非彩色井的颜色
我需要给我的用户从一组12种颜色中选择颜色的选项,我的想法是使用NSColorWell,但我找不到方法将颜色选择器中的选项限制为仅12个衣领。对于未来的谷歌,将NSPoupButton子类化,并:Swift 如何限制非彩色井的颜色,swift,macos,cocoa,Swift,Macos,Cocoa,我需要给我的用户从一组12种颜色中选择颜色的选项,我的想法是使用NSColorWell,但我找不到方法将颜色选择器中的选项限制为仅12个衣领。对于未来的谷歌,将NSPoupButton子类化,并: private var colors: [NSColor]? func setColors(_ colors: [NSColor]) { self.colors = colors self.reloadMenu() } private func reloadMenu(){
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()
}
private var colors:[NSColor]?
func setColors(colors:[NSColor]){
self.colors=颜色
self.reloadMenu()
}
private func重载菜单(){
guard let colorsArray=colors else{return}
var图像:NSImage
对于0中的索引。要像使用下拉菜单一样富有创造性,将彩色图像作为菜单项。NSColorWell是一个麻烦制造者。最好不要使用它。谢谢你的建议,它会指引我正确的方向。