Я пытался изменить цвет кнопок моего приложения, создав цвет с помощью ползунков, чтобы выбрать значения красного, зеленого, синего и альфа-диапазона. Поэтому я создал переменную, содержащую цвет, созданный пользователем.CGColor, не определенный для UIColor, необходимо сначала преобразовать цветовое пространство. Swift 2, Xcode 7
ViewController - это кнопки для кнопок. ChangeColors - это система слайдеров RGB.
import UIKit
import Foundation
var buttonColor = UIColor()
class ViewController: UIViewController {
@IBOutlet var tools: UIButton!
@IBOutlet var custom: UIButton!
@IBOutlet var support: UIButton!
@IBOutlet var donate: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
tools.backgroundColor = buttonColor
custom.backgroundColor = buttonColor
support.backgroundColor = buttonColor
donate.backgroundColor = buttonColor
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Второй код - код RGB Slider System.
import Foundation
import UIKit
class ChangeColors: UIViewController {
@IBOutlet var Red: UISlider!
@IBOutlet var Green: UISlider!
@IBOutlet var Blue: UISlider!
@IBOutlet var Alpha: UISlider!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func preview(sender: AnyObject) {
let rVal = CGFloat(Red.value)
let gVal = CGFloat(Green.value)
let bVal = CGFloat(Blue.value)
let aVal = CGFloat(Alpha.value)
self.view.backgroundColor = UIColor(red: rVal, green: gVal, blue: bVal, alpha: aVal)
}
@IBAction func change(sender: AnyObject) {
let rVal = CGFloat(Red.value)
let gVal = CGFloat(Green.value)
let bVal = CGFloat(Blue.value)
let aVal = CGFloat(Alpha.value)
let color = UIColor(red: rVal, green: gVal, blue: bVal, alpha: aVal)
buttonColor = color
}
}
Но приложение падает, как только его открыть и получить следующее сообщение об ошибке:
Нагрузочного приложение из-за неперехваченное исключение «NSInvalidArgumentException», причина: «*** -CGColor не определены для UIColor; необходимо сначала преобразовать цветовое пространство.
Мне очень нужна помощь. Спасибо.
Изменить метод типа параметра от AnyObject к UISlider –
Убедитесь, что вы передаете значение в диапазоне от 0 до 1 –
Какого типа недвижимости является buttonColor? –