Expanding UIColor on Swift error
I have this extension:
extension UIColor {
func rgba(r: Int, g: Int, b: Int, a: Float) -> UIColor {
return UIColor(red: r/255, green: g/255, blue: b/255, alpha: a)
}
}
This gives me an error: Extra argument 'green' in call
I don't understand why this is happening, there might be a bug in xcode 6 beta 4 or in swift.
+3
source to share
3 answers
This is because you passed all parameters with the wrong type: r/255, g/255, b/255
- Integer and a
- Float, but the init method of UIColor accepts CGFloat for 4 parameters.
Change your code to:
func rgba(r: Int, g: Int, b: Int, a: Float) -> UIColor {
let floatRed = CGFloat(r) / 255.0
let floatGreen = CGFloat(g) / 255.0
let floatBlue = CGFloat(b) / 255.0
return UIColor(red: floatRed, green: floatGreen, blue: floatBlue, alpha: CGFloat(a))
}
+8
source to share