iOS - UIImage着色突出显示始终为灰色



我有这个按钮,其中背景颜色为白色,图像色调为颜色x。选择后,我希望颜色交换 - bg 是 x(我可以很容易地做到),但图像色调始终是灰色(或我设置的颜色的较深版本)。如何更改它?

UIImage *image = [UIImage imageNamed:@"House"];
        image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
        [self setImage:image forState:UIControlStateNormal];
        self.imageView.contentMode  = UIViewContentModeScaleAspectFit;

//

- (void)highlight {
    [super highlight];
    [UIView animateWithDuration:HIGHLIGHT_ANIMATION_TIME animations:^{
        self.tintColor = [UIColor whiteColor];
    }];
}
- (void)unhighlight {
    [super unhighlight];
    [UIView animateWithDuration:HIGHLIGHT_ANIMATION_TIME animations:^{
        self.tintColor = self.colour;
    }];
}

UIButton有很多状态尝试:

//disable automatically adjust
self.yourButton.adjustsImageWhenHighlighted = NO;
[self setImage:colorChangedImage forState:UIControlStateHighlighted|UIControlStateSelected];

最新更新