【发布时间】:2015-12-25 00:41:04
【问题描述】:
我已经搜索了一段时间的答案。 一般来说,在编码方面,我绝对是个菜鸟,但我想我会尝试一下。 我正在尝试编写一些代码来使用 3(三个)滑块(R、G、B)更改视图的颜色。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var colorView: UIView!
@IBOutlet weak var redSlider: UISlider!
@IBAction func redValueChanged(sender: UISlider) {
var red = CGFloat(sender.value)
displayColors()
}
@IBOutlet weak var greenSlider: UISlider!
@IBAction func greenValueChanged(sender: UISlider) {
var green = CGFloat(sender.value)
displayColors()
}
@IBOutlet weak var blueSlider: UISlider!
@IBAction func blueValueChanged(sender: UISlider) {
var blue = CGFloat(sender.value)
displayColors()
}
func displayColors(){
let red = CGFloat(redSlider.value)
let blue = CGFloat(blueSlider.value)
let green = CGFloat(greenSlider.value)
let color = UIColor(
red: red,
green: green,
blue: blue,
alpha: 1.0)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
colorView.backgroundColor = UIColor(red: redSlider.value, green: greenSlider.value, blue: blueSlider.value, alpha: 1.0)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
但是,我收到以下行的错误:
colorView.backgroundColor = UIColor(red: redSlider.value, green: greenSlider.value, blue: blueSlider.value, alpha: 1.0)
错误是:
无法将“浮点”类型的值转换为预期的参数类型 'CGFloat'
我知道有一个非常简单的解决方案,但是,由于我是一个菜鸟,我无法想出解决方案。
任何帮助将不胜感激。
【问题讨论】:
-
CGFloat(redSlider.value)