我一直在使用这个Objective-C宏:
#define RGBA(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)]
我正在尝试找出在swift中如何获得最接近的东西。有任何想法吗?
我一直在使用这个Objective-C宏:
#define RGBA(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)]
我正在尝试找出在swift中如何获得最接近的东西。有任何想法吗?
UIColor
上创建扩展是一种有效的选择。 < / p >
extension UIColor {
convenience init(_ r: Double, _ g: Double, _ b: Double, _ a: Double) {
self.init(red: r/255, green: g/255, blue: b/255, alpha: a)
}
}
使用方法
let white = UIColor(255.0, 255.0, 255.0, 1.0)
_
符号允许你调用方法时跳过参数名称。 - Gabriele Petronellafunc RGBA (r:CGFloat, g:CGFloat, b:CGFloat, a:CGFloat) {
return UIColor (red: r/255.0, green: g/255.0, blue: b/255.0, alpha: a)
}
然后可以使用以下方法:
var theColor : UIColor = RGBA (255, 255, 0, 1)
#define RGBA(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)]
+ (UIColor*)RGBA:(CGFloat)r g:(CGFloat)g b:(CGFloat)b a:(CGFloat)a;
.m文件
+ (UIColor*)RGBA:(CGFloat)r g:(CGFloat)g b:(CGFloat)b a:(CGFloat)a { return RGBA(r, g, b, a); }