UIColor-HNExtensions 0.1.6

UIColor-HNExtensions 0.1.6

测试已测试
语言语言 Objective CObjective C
许可证 MIT
发布上次发布2014年12月

Henri Normak 维护。



  • 作者
  • Henri Normak

一组不同的与 UIColor 相关的扩展。您可以在 Twitter 上联系我 @henrinormak

组件

有几种方法来获取 UIColor,例如红色、绿色或蓝色等组成成分的一些方法。此外,还有一些通过改变亮度或饱和度等组件来获取新颜色的一些方法。

示例

CGFloat redComponent = [[UIColor redColor] getRed];
CGFloat blueComponent = [[UIColor redColor] getBlue];

调色板

从颜色获取调色板的一些便捷方法。有不同类型的调色板可用,如类似色、分割互补色、三色、正方形和四色。

示例

// Returns colours that are roughly blueColor and greenColor
NSArray *triadicColours = [[UIColor redColor] triadicColors];

可访问性

有几项方法用于根据 WGAC 标准确定两种颜色之间的对比度。还有一个简单的获取给定背景颜色中最合适的文本颜色(黑色或白色)的方法。

示例

// Returns whiteColor as it's most contrasting with blue
UIColor *textColor = [[UIColor blueColor] contrastingTextColor];

// Returns ~13.85 as the ratio according to WGAC standard
CGFloat contrastRatio = [[UIColor blueColor] contrastRatioWithColor:[UIColor whiteColor]]; 

渐变

通过从颜色数组中获取插值颜色来获得颜色,这可以被视为在渐变中的某个点获取颜色。

示例

// Returns a colour exactly in the middle between white and black (so 50% gray)
UIColor *gray = [UIColor colorAtPosition:.5f fromColor:[UIColor blackColor] toColor:[UIColor whiteColor]];

// Equivalent to the previous call, but allows more than two colour gradients
UIColor *gray = [UIColor colorAtPosition:.5f withinColors:@[[UIColor whiteColor], [UIColor blackColor]]];

混合

通过基于混合模式混合两种颜色来创建新颜色的方法。这在性能至关重要时非常有用,通过预先混合颜色并使用该颜色代替,以避免半透明颜色 - 结果颜色是不透明的(即 alpha 值为 1.0)。使用这些方法,您还可以复制 Photoshop 中的图层混合模式。

混合的参考

示例

// Getting the same effect as if you had used a blend mode when filling a colour on top of another colour
// For example, overlay of white on darker blue produces full blue
UIColor *overlayBlue = [[UIColor colorForHexString:@"0000da"] colorByBlendingWithColor:[UIColor whiteColor] mode:kColorBlendingModeOverlay]

杂项

有两个杂项方法,一个用于将 CSS 风格的 HEX 字符串转换为颜色,如 "#FFF" 或 "FF",还有一个用于获取完全随机的颜色