swift - 在 swift ( OS X ) 中从十六进制字符串获取 CGColor

标签 swift macos

我正在实现我的第一个 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/

相关文章:

macos - 如何为 Mac App Store 中的应用列表设置背景图片?

ios - 如何让选中的tableview单元格像Vine App一样没有颜色

ios - Xcode & Swift - 检测 UIScrollView 内部 UIView 的用户触摸

ios - 尝试使用在 Swift 中具有重复值的枚举

objective-c - 如何在 NSImage CIFilter ObjC 周围创建边框

ios - 快速组合 : prepend() before share() prevents initial sink execution

ios - Google map 自定义信息窗口 - 弹出框形状?

ios - Realm swift : Is it possible to keep database after the apps is uninstalled?

swift - 调整 NSImage 的大小会改变其原点并产生错误的结果

ios - 当 Parse 上的某些内容发生变化时如何通知 OSX 应用程序