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