Iphone Swift-使用#在Swift中定义
我有一个Iphone Swift-使用#在Swift中定义,iphone,swift,Iphone,Swift,我有一个Common.h,定义如下: // Get UIColor from Hex value #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF
Common.h
,定义如下:
// Get UIColor from Hex value
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
#define CellTextColor UIColorFromRGB((uint32_t) 0x217EB5)
我希望能够在Swift中使用CellTextColor
进行着色。但它不允许我运行宏。只有当我有#define value@“string”
时,它才能在Swift中工作
我还有别的事要做吗
我阅读了以下链接:
具体答案可能是UIColor的扩展:
extension UIColor {
class func fromRGB(rgb:UInt32) -> UIColor {
return UIColor(
red: CGFloat((rgb & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgb & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgb & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
class var cellTextColor: UIColor {
return UIColor.fromRGB(0x217eb5)
}
}
它允许您使用:
let color = UIColor.cellTextColor
更一般的答案是,这一切都将非常依赖于宏是什么以及如何使用它