Tôi đang cố gắng thay đổi màu của các nút ứng dụng bằng cách tạo màu bằng các thanh trượt để chọn các giá trị của Đỏ, Xanh lục, Xanh lam và Alpha. Vì vậy, tôi đã tạo một biến chứa màu do người dùng tạo.CGColor không được định nghĩa cho UIColor, trước tiên cần chuyển đổi không gian màu. Swift 2, Xcode 7
Chế độ xemController là nơi các nút. ChangeColors là Hệ thống thanh trượt 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.
}
}
Thứ hai là mã của hệ thống thanh trượt RGB.
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
}
}
Nhưng ứng dụng bị treo ngay khi nó mở và nhận được lỗi sau:
Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSInvalidArgumentException', lý do: '*** -CGColor không được định nghĩa cho UIColor; đầu tiên cần chuyển đổi không gian màu.
Tôi thực sự cần trợ giúp. Cảm ơn bạn.
Thay đổi phương pháp loại tham số từ AnyObject để UISlider –
Hãy chắc chắn rằng bạn đang đi qua một giá trị khác nhau, 0-1 –
gì loại tài sản là buttonColor? –