我已经为我在整个应用程序中使用的某些颜色添加了 UIColor 扩展。这是一个例子:
extension UIColor {
func appLightGrayColor() -> UIColor {
return UIColor(red: 190.0/255.0, green: 190.0/255.0, blue: 190.0/255.0, alpha: 1.0)
}
func grayScaleColor(grayScale : CGFloat) -> UIColor {
return UIColor(red: grayScale/255.0, green: grayScale/255.0, blue: grayScale/255.0, alpha: 1.0)
}
}
但是,当我尝试调用它时,我能够正确编译的唯一方法是:
UINavigationBar.appearance().barTintColor = UIColor.appLightGrayColor(UIColor())()
这是我使用自动完成功能得到的结果:
我做错了什么?
最佳答案
你已经添加了实例方法,但你真正想要的是class method
extension UIColor {
class func appLightGrayColor() -> UIColor {
return UIColor(red: 190.0/255.0, green: 190.0/255.0, blue: 190.0/255.0, alpha: 1.0)
}
class func grayScaleColor(grayScale : CGFloat) -> UIColor {
return UIColor(red: grayScale/255.0, green: grayScale/255.0, blue: grayScale/255.0, alpha: 1.0)
}
}
关于ios - swift 扩展不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24375843/