【发布时间】:2015-08-01 15:28:05
【问题描述】:
有什么方法可以从某种颜色(假设它是 [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 状态设置图像/标题,则按下按钮时仅突出显示图像:
【问题讨论】:
标签: ios objective-c iphone swift uibutton