Matching a Bar Tint Color To Your Corporate or Brand Color
问:如何选择与我的公司或品牌颜色相匹配的条形颜色?
A:从 iOS 7 开始,导航栏、标签栏和工具栏(以下简称“栏”)默认配置为半透明。一个半透明的酒吧混合着它barTintColor
在将其与系统定义的 alpha 值组合以生成最终的背景颜色之前,该颜色用于将条形图与其覆盖的内容合成。这对希望在其应用程序中保持一致配色方案的开发人员提出了挑战,因为他们在选择条形颜色时必须考虑在半透明条形下方传递的内容的颜色。最近对 iOS 7 的更新通过增加前面提到的系统定义的 alpha 值来帮助缓解这个问题。结果是具有自定义条形颜色的条形看起来更加不透明,从而使开发人员可以更好地控制通过将条形与其下方的内容合成所产生的最终颜色。
要计算条形颜色以匹配给定颜色(例如,对于公司或品牌标识),您传递给 -setBarTintColor: 方法的颜色将需要考虑 iOS 为条形维护的半透明度。另请注意,您传递的颜色的 Alpha 通道将被忽略,因为 iOS 对此进行控制以实现整体半透明效果。
获得有色条的正确颜色可能需要一些实验。您可能还需要考虑在栏下方传递的应用程序内容(例如照片或文本)。
一个起点是将条形颜色中的每个 RGB 通道变暗 0.12。例如:
清单 1 根据给定颜色计算条形颜色。
UIColor *corporateColor = [UIColor colorWithRed:0.20 green:0.40 blue:0.20 alpha:1.0]
UIColor *barTintColor = [UIColor colorWithRed:0.08 green:0.28 blue:0.08 alpha:1.0];
如果一个通道中的起始颜色已经小于 0.12,您可能需要将其他通道变暗超过 0.12,如下所示:
清单 2 使用一个或多个接近于零的通道从给定颜色计算条形颜色。
UIColor *corporateColor = [UIColor colorWithRed:0.04 green:0.40 blue:0.20 alpha:1.0];
UIColor *barTintColor = [UIColor colorWithRed:0.00 green:0.24 blue:0.04 alpha:1.0];
同样,您可能需要尝试或多或少地变暗以获得您想要达到的确切效果。
网友评论