我有一个枚举颜色返回颜色,我想知道枚举是否可以实现动态aplha的变化?
enum Colors {
case
text,
yesColorWith(alpha:CGFloat)
var color: UIColor {
switch self {
case .text: return UIColorFromHEX(0xd1d1d1, alpha: 1.0)
case .yesColorWith(alpha: CGFloat) : return UIColorFromHEX(0x89A225, alpha: alpha)
}
}
}
func UIColorFromHEX(_ hex: UInt, alpha:Float) -> UIColor {
return UIColor(
red: CGFloat((hex >> 16) & 0xff) / 255,
green: CGFloat((hex >> 08) & 0xff) / 255,
blue: CGFloat((hex >> 00) & 0xff) / 255,
alpha: CGFloat(alpha))
}
答案 0 :(得分:2)
欢迎来到Swift case
模式的狂野和古怪世界。变化
case .yesColorWith(alpha: CGFloat) :
到
case .yesColorWith(let alpha) :
因此:
enum Colors {
case text
case yesColorWith(alpha: CGFloat)
var color: UIColor {
switch self {
case .text:
return UIColorFromHEX(0xd1d1d1, alpha: 1.0)
case .yesColorWith(let alpha): // <-*
return UIColorFromHEX(0x89A225, alpha: alpha)
}
}
}