UIColor

@_spi(FW) extension UIColor
  • 获取当前主题样式对应静态颜色,主要用于iOS13以下兼容主题切换

    Declaration

    Swift

    public var fw_color: UIColor { get }
  • 指定主题样式获取对应静态颜色,iOS13+可跟随系统改变

    Declaration

    Swift

    public func fw_color(forStyle style: ThemeStyle) -> UIColor
  • 是否是主题颜色,仅支持判断使用fwTheme创建的颜色

    Declaration

    Swift

    public var fw_isThemeColor: Bool { get }
  • 动态创建主题色,分别指定浅色和深色

    Declaration

    Swift

    public static func fw_themeLight(_ light: UIColor, dark: UIColor) -> UIColor
  • 动态创建主题色,指定提供句柄

    Declaration

    Swift

    public static func fw_themeColor(_ provider: @escaping (ThemeStyle) -> UIColor) -> UIColor
  • 动态创建主题色,指定名称,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃

    Declaration

    Swift

    public static func fw_themeNamed(_ name: String) -> UIColor
  • 动态创建主题色,指定名称和bundle,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃

    Declaration

    Swift

    public static func fw_themeNamed(_ name: String, bundle: Bundle?) -> UIColor
  • 手工单个注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式

    Declaration

    Swift

    public static func fw_setThemeColor(_ color: UIColor?, forName name: String)
  • 手工批量注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式

    Declaration

    Swift

    public static func fw_setThemeColors(_ nameColors: [String : UIColor])

UIColor+Toolkit

  • 获取当前颜色指定透明度的新颜色

    Declaration

    Swift

    public func fw_color(alpha: CGFloat) -> UIColor
  • 读取颜色的十六进制值RGB,不含透明度

    Declaration

    Swift

    public var fw_hexValue: Int { get }
  • 读取颜色的透明度值,范围0~1

    Declaration

    Swift

    public var fw_alphaValue: CGFloat { get }
  • 读取颜色的十六进制字符串RGB,不含透明度

    Declaration

    Swift

    public var fw_hexString: String { get }
  • 读取颜色的十六进制字符串RGBA|ARGB(透明度为1时RGB),包含透明度

    Declaration

    Swift

    public var fw_hexAlphaString: String { get }
  • 设置十六进制颜色标准为ARGB|RGBA,启用为ARGB,默认为RGBA

    Declaration

    Swift

    public static var fw_colorStandardARGB: Bool
  • 获取透明度为1.0的RGB随机颜色

    Declaration

    Swift

    public static var fw_randomColor: UIColor { get }
  • 从十六进制值初始化,格式:0x20B2AA,透明度默认1.0

    Declaration

    Swift

    public static func fw_color(hex: Int, alpha: CGFloat = 1.0) -> UIColor
  • 从十六进制字符串初始化,支持RGB、RGBA|ARGB,格式:@“20B2AA”, @“#FFFFFF",透明度默认1.0,失败时返回clear

    Declaration

    Swift

    public static func fw_color(hexString: String, alpha: CGFloat = 1.0) -> UIColor
  • 以指定模式添加混合颜色,默认normal模式

    Declaration

    Swift

    public func fw_addColor(_ color: UIColor, blendMode: CGBlendMode = .normal) -> UIColor
  • 当前颜色修改亮度比率的颜色

    Declaration

    Swift

    public func fw_brightnessColor(_ ratio: CGFloat) -> UIColor
  • 判断当前颜色是否为深色

    Declaration

    Swift

    public var fw_isDarkColor: Bool { get }
  • 创建渐变颜色,支持四个方向,默认向下Down

    @param size 渐变尺寸,非渐变边可以设置为1。如CGSizeMake(1, 50) @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param direction 渐变方向,自动计算startPoint和endPoint,支持四个方向,默认向下Down @return 渐变色

    Declaration

    Swift

    public static func fw_gradientColor(size: CGSize, colors: [Any], locations: UnsafePointer<CGFloat>?, direction: UISwipeGestureRecognizer.Direction) -> UIColor
  • 创建渐变颜色

    @param size 渐变尺寸,非渐变边可以设置为1。如CGSizeMake(1, 50) @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param startPoint 渐变开始点,需要根据rect计算 @param endPoint 渐变结束点,需要根据rect计算 @return 渐变色

    Declaration

    Swift

    public static func fw_gradientColor(size: CGSize, colors: [Any], locations: UnsafePointer<CGFloat>?, startPoint: CGPoint, endPoint: CGPoint) -> UIColor