使用var时调用中的额外参数

时间:2014-08-09 11:56:49

标签: swift

我试图使用此代码:

var alpha : Float
alpha = 0.5
self.view.backgroundColor = UIColor(red: 1, green:0, blue: 0, alpha:alpha)

然而,我收到错误:

  

额外的争论'绿色'在电话中

这段代码有什么问题?而且,为什么

self.view.backgroundColor = UIColor(red: 1, green:0, blue: 0, alpha: 0)

工作得很好吗?

5 个答案:

答案 0 :(得分:3)

答案是:Swift UIColor initializer - compiler error only when targeting iPhone5s

使用float而不是整数。

UIColor(red: 1.0, green:0.0, blue: 0.0, alpha:alpha)

答案 1 :(得分:2)

当你打开一个未被声明为可选的UIColor实例时,也会发生这种情况。

而不是:

let brokenColor = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)!

使用此:

let color: UIColor! = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)

答案 2 :(得分:2)

如果您使用变量,请使用以下 -

var color: UIColor = UIColor(red: CGFloat(red), green: CGFloat(green), blue: CGFloat(blue), alpha: CGFloat(alpha))

答案 3 :(得分:0)

当我尝试设置按钮的边框颜色并且在调用中出现“额外参数'绿色'错误时,我发生了这个错误的特定迭代,但是一旦我将它存储在常量中,就会出现真正的错误,这是常量不是CGColor。所以这就解决了。

  let borderColor:UIColor = UIColor(red: 23/255, green: 247/255, blue: 252/255, alpha: 1)
  loginButton.layer.borderColor = borderColor.CGColor

答案 4 :(得分:-6)

在分号中加一个空格

green: 0, alpha: alpha