Как я могу ограничить цвет NSColorWell - PullRequest
0 голосов
/ 12 июня 2018

Мне нужно дать своему пользователю возможность выбрать цвет из набора из 12 цветов, моя идея - использовать NSColorWell, но я не могу найти способ ограничить параметры в палитре цветов только 12 воротниками.

1 Ответ

0 голосов
/ 27 июня 2018

Для будущих гуглеров подкласс 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()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...