我想为我的自定义 UI 控件创建一个算法,用于从给定的色调颜色计算高亮色调颜色。
突出显示色调颜色是指在突出显示项目时在标准 iOS UI 控件(如 UISegmentedView)中显示的颜色。看这里:
是否有关于如何计算这种颜色的官方信息?是否有任何可以计算颜色的开源库(例如用于自定义组件)?或者是否有一个 UIColor 类别可以完全实现我想要实现的目标?
我想为我的自定义 UI 控件创建一个算法,用于从给定的色调颜色计算高亮色调颜色。
突出显示色调颜色是指在突出显示项目时在标准 iOS UI 控件(如 UISegmentedView)中显示的颜色。看这里:
是否有关于如何计算这种颜色的官方信息?是否有任何可以计算颜色的开源库(例如用于自定义组件)?或者是否有一个 UIColor 类别可以完全实现我想要实现的目标?
正如Desdenova在评论中提到的那样,高光色调看起来与不透明度为 15% 的色调颜色相同。我创建了一个简单的类别,它从色调颜色创建这种颜色。
UIColor+HighlightTintColor.h
@interface UIColor (HighlightTintColor)
- (instancetype)highlightTintColor;
+ (instancetype)highlightTintColorForTintColor:(UIColor *)tintColor;
@end
UIColor+HighlightTintColor.m
#import "UIColor+HighlightTintColor.h"
@implementation UIColor (HighlightTintColor)
- (instancetype)highlightTintColor
{
return [[self class] highlightTintColorForTintColor:self];
}
+ (instancetype)highlightTintColorForTintColor:(UIColor *)tintColor
{
return [tintColor colorWithAlphaComponent:0.15];
}
@end
如果有更好的建议,请发布您的答案,如果它们比这个更好,我会接受它们。