我正在尝试使用以下代码创建一个UIColor实例:
var someColor:UIColor = UIColor.colorWithAlphaComponent(0.3)
预编译器告诉我有错误。它说UIColor!不能转换为UIColor。
这是斯威夫特最难解开的谜团之一。
UIColor是什么!意思?更详细的,我不明白为什么感叹!标志就在那里。
我有点熟悉?我的理解是它是可选的。如果它存在,它保持其'值,如果不是,则设置为NIL。
非常感谢任何建议和更正。
感谢您解决我的问题。
干杯!
答案 0 :(得分:3)
您使用的方法是UIColour的实例方法,而不是类方法。你的意思是:
UIColor(white:1.0, alpha:0.3)
您应该使用现有颜色调用您正在使用的方法。它不是初始化者。我同意,错误信息并不是非常有用。我想这个:
它说UIColor!不能转换为UIColor。
Swift是否尝试将类转换为实例。
答案 1 :(得分:0)
colorWithAlphaComponent:
不是类方法。您必须使用UIColor
的实例调用它,就像这样:
var myColor = UIColor.grayColor() //grey color, for example
var someColor: UIColor = myColor.colorWithAlphaComponent(0.3)
例如,在Playground中,您可以设置/更改UIButton
实例的背景颜色,如下所示:
import UIKit
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 40, height: 20))
var myColor = UIColor.grayColor() //grey color, for example
var someColor: UIColor = myColor.colorWithAlphaComponent(0.3)
button.backgroundColor = someColor //click on the quick view (eye) button to see the new background color of button
答案 2 :(得分:0)
查看UIColor
的文档colorWithAlphaComponent它是实例方法。所以你需要在UIColor
实例上调用它。