有没有什么方法可以从某种颜色(比如说[UIColor redColor])创建出这种颜色的默认高亮阴影(在这种情况下是一种深红色)。
在我的情况下,我有一个UIButton(在UIBarButton内部),我想为UIControlStateHighlighted状态设置titleColor,就像UIImage的默认高亮颜色一样。请参见下面的代码:
UIColor *color = [UIColor redColor];
UIColor *highlightedColor = ???;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[[UIImage imageNamed:@"back-arrow"] imageWithOverlayColor:color] forState:UIControlStateNormal];
[button setImage:[[UIImage imageNamed:@"back-arrow"] imageWithOverlayColor:highlightedColor] forState:UIControlStateHighlighted];
[button setTitle:title forState:UIControlStateNormal];
[button setTitleColor:color forState:UIControlStateNormal];
[button setTitleColor:highlightedColor forState:UIControlStateHighlighted];
button.imageEdgeInsets = UIEdgeInsetsMake(0.f, -5.f, 0.f, 0.f);
如果我没有为UIControlStateHighlighted状态设置图像/标题,则仅在按钮被按下时会突出显示图像: