像素 1.4

像素 1.4

测试测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018年5月
SPM支持SPM

Igor Matyushkin维护。




像素 1.4

Pixels

像素

《像素》库的目的是简化iOS中的颜色常见任务,从而使得实现多彩UI设计变得更加容易。完全兼容原生iOS SDK。

如何开始

  • 文件夹的内容复制到您的项目中。

或者

  • 使用Pixel CocoaPod

要求

  • iOS 9及其更高版本
  • Xcode 9及其更高版本
  • Swift 4

用法

颜色初始化

RGB系统中颜色的常见表达式是#123456。这种表达式的另一种形式像#123,相当于#112233。然而,iOS SDK不支持上述表达式,并要求在UIColor类构造函数中使用CGFloat值来表示红、绿、蓝和透明度的各个分量。这并不方便,对吧?

Pixels提供了解决上述问题的方案,因此你不必这样做:

let grayColor = UIColor(
    red: 51.0 / 255.0,
    green: 51.0 / 255.0,
    blue: 51.0,
    alpha: 255.0
)

你只需简单地写这个:

let grayColor = UIColor(hexString: "#333333") // RGB {51, 51, 51}

或者这个:

let grayColor = UIColor(hexString: "#333") // RGB {51, 51, 51}

甚至这个:

let grayColor = UIColor(hexString: "333") // RGB {51, 51, 51}

如最后一个示例所示,尖括号是可选的。无论是否有尖括号前缀,十六进制字符串都将被正确解析。

Pixels同时支持RGB和RGBA颜色系统,因此你也可以在表达式中添加透明度分量。

let grayColorWithSmallTransparency = UIColor(hexString: "#333333dd") // RGBA {51, 51, 51, 221}
let halfTransparentGrayColor = UIColor(hexString: "#3338") // RGBA {51, 51, 51, 136}
let almostTransparentGrayColor = UIColor(hexString: "#33333310") // RGBA {51, 51, 51, 16}

如果十六进制字符串格式不正确,将返回nil而不是UIColor实例。

颜色操作

使用Pixels,你可以反转任何颜色

let invertedColor = UIColor.white.pxls
    .invertedColor(invertAlpha: false)
    .color // returns black color

还可以混合两种颜色

let mixedColor = UIColor.blue.pxls
    .mix(with: UIColor.orange)
    .color // returns purple color

所有操作都支持链式调用,因此你可以像下面示例那样使用它们

let resultColor = UIColor.yellow.pxls
    .invertedColor(invertAlpha: false) // invert yellow color
    .mix(with: .orange)                // mix inverted color with orange
    .color                             // get `UIColor` instance
    .withAlphaComponent(0.5)           // make color 50% transparent

每个链从.pxls开始,并以提及.color引用来生成最终的UIColor实例结束。

品牌颜色

有时你不知道哪些颜色适用于你的项目。但你不一定需要成为一名专业设计师,因为你可以重用知名服务使用的流行颜色方案。 Pixels提供了一组出色的品牌颜色。你所需要做的只是写下

let color = UIColor.Brands.Google.blue

或者

let color = UIColor.Brands.Flickr.pink

当然,你不仅限于对这些颜色进行任何操作

let flickrPinkWithHalfTransparency = UIColor.Brands.Flickr.pink.colorWithAlphaComponent(0.5)

要查看所有可用的品牌,只需在Xcode中键入UIColor.Brands.,你将看到类似于下面的输出

Available Brands

检查可用的品牌的另一种方法是查看源代码

HTML颜色

Pixels提供了一组HTML颜色。它们都可在UIColor.HTML命名空间中找到。

let purple = UIColor.HTML.purple         // #800080
let orange = UIColor.HTML.orange         // #FFA500
let lightGreen = UIColor.HTML.lightGreen // #90EE90

Google 材料色彩

像素 还包含了一套材料色彩,例如以下示例中所示。

let orange = UIColor.Material.Orange._500
let blue = UIColor.Material.Blue.a200
// etc.

许可

像素 遵循 MIT 许可协议。有关更多信息,请参阅 LICENSE 文件。