要正确突出显示子视图,UIControl
您可以使用自定义色调颜色。init
要启用此功能,请在方法中的某处,或者awakeFromNib
您应该将图像渲染模式更改为always template
:
self.imageView.image = [self.imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
self.backgroundImageView.image = [self.backgroundImageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
self.tintColor = [UIColor zst_blueColor]; // Use custom instead of system-defined color
因此,alpha
我们可以更改 tint 颜色,而不是更改值,它会UIImageView
自动更改其子视图。在该setHighlighted:
方法中,您可以将文本和色调更改为较深的颜色:
- (void)setHighlighted:(BOOL)highlighted
{
[super setHighlighted:highlighted];
UIColor *tintColor = highlighted ? [UIColor zst_darkerBlueColor] : [UIColor zst_blueColor];
self.tintColor = tintColor;
self.titleLabel.textColor = tintColor;
}