我正在实现我的第一个 OS X 应用程序并创建了一个 CGColor 扩展。 有没有办法从十六进制字符串中获取 CGColor?
谢谢!
最佳答案
编辑:针对 Mac 操作系统更新
我会推荐一些我经常使用的东西。这是我的 NSColorExtension
,它是 NSColor 类的扩展:
/**
* A NSColor extension
**/
public extension NSColor {
/**
Returns an NSColor instance from the given hex value
- parameter rgbValue: The hex value to be used for the color
- parameter alpha: The alpha value of the color
- returns: A NSColor instance from the given hex value
*/
public class func hexColor(rgbValue: Int, alpha: CGFloat = 1.0) -> NSColor {
return NSColor(red: ((CGFloat)((rgbValue & 0xFF0000) >> 16))/255.0, green:((CGFloat)((rgbValue & 0xFF00) >> 8))/255.0, blue:((CGFloat)(rgbValue & 0xFF))/255.0, alpha:alpha)
}
}
你可以这样使用它:
NSColor.hexColor(0xff0000, alpha: 0.8)
alpha 值的默认值为 1.0,因此如果您不想显式显示 alpha 值:
NSColor.hexColor(0xff0000)
如果你想要 CGColor
值,你可以使用这个:
NSColor.hexColor(0xff0000).CGColor
关于swift - 在 swift ( OS X ) 中从十六进制字符串获取 CGColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35240607/