[英]SetTint of UIButton won't hold
我通过Web加载UIButton
的图像为:
NSURL *imageURL = [NSURL URLWithString:[ruleImageArr objectAtIndex:0]];
NSData *data = [NSData dataWithContentsOfURL:imageURL];
[self.classicBackgroundButton setImage:image forState:(UIControlStateNormal)];
哪个工作正常。 因此,当用户点击它时,我希望按钮为setTint
。 这是我的做法:
- (IBAction)classicBackgroundButtonPressed:(id)sender {
[self.classicBackgroundButton setTintColor:[UIColor greenColor]];
}
但这不起作用。 似乎无法找出问题所在? 我已经在stackOverFlow上搜索了它,但是主要是我如何在点击时替换UIButton
图像。 这些图像是从Web加载的,选择它们应突出显示它们,以使您感觉已选择了此按钮。 任何帮助将不胜感激。
UiImage
必须具有模板渲染模式才能使用色调。 像这样:
UIImage *imageTint = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[button setImage:imageTint forState:UIControlStateNormal];
您可以使用另一个UIControlState进行管理。
NSURL *imageURL = [NSURL URLWithString:[ruleImageArr objectAtIndex:0]];
NSData *data = [NSData dataWithContentsOfURL:imageURL];
[self.classicBackgroundButton setImage:image forState:(UIControlStateSelected)];
[self.classicBackgroundButton setImage:image forState:(UIControlStateHighlighted)];
[self.classicBackgroundButton setImage:image forState:(UIControlStateNormal)];
改用这个
- (IBAction)classicBackgroundButtonPressed:(UIButton *)sender {
[sender setTintColor:[UIColor greenColor]];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.