WTUIColorExtensions 1.1.1

WTUIColorExtensions 1.1.1

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最后发布2017年1月
SwiftSwift 版本3.0
SPM支持 SPM

Wagner Truppel 维护。



  • Wagner Truppel

WTUIColorExtensions

什么是

WTUIColorExtensionsUIColor 添加了生成伪随机颜色实例的能力以及以比使用 inout 参数和默认的 get... 方法更直接的方式提取颜色组件的方法。以下是完整的 API 扩展集合

    public static var randomRGB: UIColor { get }
    public static var randomRGBA: UIColor { get }

    public static var randomHSB: UIColor { get }
    public static var randomHSBA: UIColor { get }

    public static var randomWhite: UIColor { get }
    public static var randomWhiteAlpha: UIColor { get }

    public enum ColorError : Error {
        case invalidColorSpace
    }

    public struct RGBAComponents {
        public let red: CGFloat
        public let green: CGFloat
        public let blue: CGFloat
        public let alpha: CGFloat
    }
    public func rgbaComponents() throws -> RGBAComponents

    public struct HSBAComponents {
        public let hue: CGFloat
        public let saturation: CGFloat
        public let brightness: CGFloat
        public let alpha: CGFloat
    }
    public func hsbaComponents() throws -> HSBAComponents

    public struct WhiteAlphaComponents {
        public let white: CGFloat
        public let alpha: CGFloat
    }
    public func whiteAlphaComponents() throws -> WhiteAlphaComponents

    // NEW in v. 1.1.0
    public func hexValue() throws -> String
    public func hexValueWithAlpha() throws -> String

    // NEW in v. 1.1.0
    public static func quadraticLuma(red: CGFloat, green: CGFloat, blue: CGFloat) throws -> CGFloat
    public func quadraticLuma() throws -> CGFloat

    // NEW in v. 1.1.0
    public func contrastingColor(continuous: Bool, threshold: CGFloat, sameAlpha: Bool) throws -> UIColor
}

为什么

因为生成随机颜色是一种相当常见的需求,而且使用 inout 参数提取颜色组件很烦人。

测试

WTUIColorExtensions 添加了几个扩展,所有这些扩展都通过 26 个测试进行测试,覆盖率接近 95%。缺少的 5% 覆盖率是因为在 iOS 上,rgbaComponents()hsbaComponents() 并不会实际上抛出任何无效颜色空间的错误,尽管在理论上它们可能会。为了确保这个库的未来兼容性,我假设这些方法可能会失败,但我目前无法测试代码路径。

更新日志

WTUIColorExtensions 的更改列在这里:这里

安装

WTUIColorExtensions 通过 CocoaPods 提供。要安装它,请简单地将以下行添加到您的 Podfile 中

pod "WTUIColorExtensions"

作者

Wagner Truppel,[email protected]

许可证

WTUIColorExtensions 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。