这个问题在这里已有答案:
我知道这不是一种合适的方法,但为了学习的目的,我有一个带有四个组件的拾取器控件,每个组件有255行来改变基于RGB-alpha的'view'背景色 . 我知道 UIColor(red: <#CGFloat#>, green: <#CGFloat#>, blue: <#CGFloat#>, alpha: <#CGFloat#>)
接受四个浮点数作为每种颜色的参数,但我收到错误:
找不到类型'UIColor'的初始值设定项,它接受类型'(red: Float, green: Float, blue: Float, alpha: Float)'的参数列表
怎么了?
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
var newbackgroundColor = UIColor()
var redCode: Float = 0.0
var greenCode: Float = 0.0
var blueCode: Float = 0.0
var alphaCode: Float = 0.0
if component == 0 {
switch row {
case 0..<256:
redCode = Float(row/255)
newbackgroundColor = UIColor(red: redCode, green: greenCode, blue: blueCode, alpha: alphaCode)
default:
break
}
} else if component == 1 {
switch row {
case 0..<256:
greenCode = Float(row/255)
newbackgroundColor = UIColor(red: redCode, green: greenCode, blue: blueCode, alpha: alphaCode)
default:
break
}
} else if component == 2{
switch row {
case 0..<256:
blueCode = Float(row/255)
newbackgroundColor = UIColor(red: redCode, green: greenCode, blue: blueCode, alpha: alphaCode)
default:
break
}
} else {
switch row {
case 0..<256:
alphaCode = Float(row/255)
newbackgroundColor = UIColor(red: redCode, green: greenCode, blue: blueCode, alpha: alphaCode)
default:
break
}
}
self.view.backgroundColor = newbackgroundColor
}
2 回答
使用
CGFloat
不是Float
当出现这样的错误时,请检查API文档
除了Float与CGFloat不一样的事实,你可以这样做更容易: