0
我声明UIColors在扩展名:UIColor文件,但我不断地得到像“实例成员'红'错误不能用于类型'UIColor',当我宣布它已经在扩展文件,我将列出错误的图片,下面的代码。实例成员不能使用时,它已经宣布
扩展的UIColor文件
import Foundation
import UIKit
extension UIColor {
var red: CGFloat {
get {
let components = self.cgColor.components
return components![0]
}
}
var green: CGFloat {
get {
let components = self.cgColor.components
return components![1]
}
}
var blue: CGFloat {
get {
let components = self.cgColor.components
return components![2]
}
}
var alpha: CGFloat {
get {
return self.cgColor.alpha
}
}
func alpha(_ alpha: CGFloat) -> UIColor {
return UIColor(red: self.red, green: self.green, blue: self.blue, alpha: alpha)
}
func white(_ scale: CGFloat) -> UIColor {
return UIColor(
red: self.red + (1.0 - self.red) * scale,
green: self.green + (1.0 - self.green) * scale,
blue: self.blue + (1.0 - self.blue) * scale,
alpha: 1.0
)
}
}
斯威夫特文件,我想用一种颜色。
var color: UIColor = UIColor.red {
didSet {
setup()
}
}
为了使它完成,你应该提到他的白色方法也没用,因为UIColor已经有了一个特定于这个目的的初始化函数init(white:alpha:)'https://developer.apple.com/reference/uikit/ uicolor/1621944-init –
@LeoDabus我一开始也认为,但后来我仔细看了看他们的“白色”方法。这绝对是完全不同的。这一个正在改变当前的颜色,而不仅仅是创造一片灰色。 – rmaddy