Я создаю простой пользовательский NSView
, который позволяет пользователю вводить по 3 текстовых поля для значений R, G и B соответственно. Я уже ссылался на этот вопрос и ответ here - он учитывает только до Swift 2.0
. Итак, кто-нибудь знает правильную технику получения такого же эффекта в Swift 3.0
? Кажется, я не могу получить что-то, что я делаю, чтобы работать. Я все время получаю ошибки.Изменение цвета NSView
Вот текущий метод я использую (Это, кажется, работает ... НО это не составит 2 других RGB
значений, так как он используется в @IBAction
):
//viewDidLoad
RVCustomView.wantsLayer = true
@IBAction func redValue(_ sender: AnyObject) {
print(red.stringValue)
var rValue = 0
let str = red.stringValue
if let n = NumberFormatter().number(from: str) {
rValue = Int(CGFloat(n))
}
CustomNSView.layer?.backgroundColor = CGColor(red: rValue, green: 255, blue: 255, alpha: 255)
}
Это не сработает. Swift 3 требует использования '.layer ?.backgroundColor', прежде чем вы сможете настроить цвет. Если нет другого способа сделать это. Но это единственный способ, которым я смог заставить его работать – KSigWyatt