测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | MIT |
Released最后发布 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Wagner Truppel 维护。
WTUIColorExtensions 为 UIColor
添加了生成伪随机颜色实例的能力以及以比使用 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 文件。