目标-C
您必须给出介于 0 和 1.0 之间的值。所以将 RGB 值除以 255。
myLabel.textColor= [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1] ;
更新:
你也可以使用这个宏
#define Rgb2UIColor(r, g, b) [UIColor colorWithRed:((r) / 255.0) green:((g) / 255.0) blue:((b) / 255.0) alpha:1.0]
你可以像这样调用你的任何班级
myLabel.textColor = Rgb2UIColor(160, 97, 5);
斯威夫特
这是正常的颜色合成法
myLabel.textColor = UIColor(red: (160/255.0), green: (97/255.0), blue: (5/255.0), alpha: 1.0)
//The values should be between 0 to 1
Swift 对宏不太友好
C 和 Objective-C 中使用了复杂的宏,但没有对应的宏
在斯威夫特。复杂宏是不定义常量的宏,
包括带括号的类似函数的宏。您使用复杂的宏
在 C 和 Objective-C 中避免类型检查约束或避免
重新输入大量样板代码。但是,宏可以使
调试和重构困难。在 Swift 中,您可以使用函数
和泛型在没有任何妥协的情况下达到相同的结果。
因此,C 和 Objective-C 源代码中的复杂宏
文件对您的 Swift 代码不可用。
所以我们为此使用扩展名
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)
}
}
你可以像这样使用它
myLabel.textColor = UIColor(160.0, 97.0, 5.0, 1.0)