1

不知道是不是很傻

我有一张将添加到UIImageView或 中的图像UIButton。该图像包含一些红色的文本,背景为黑色。是否可以将 BG 颜色和文本颜色更改为自定义颜色。那可能吗 ??

4

2 回答 2

3

如果在考虑乔治的回答后,您仍然需要修改颜色,您可以尝试使用 Core Image 滤镜。

以下示例通过 中给定的角度调整UIImageView调用的色调。screenImageangle

- (void)rebuildFilterChain:(double)angle {
  UIImage *uiImage = [UIImage imageNamed:@"background.jpg"];
  CIImage *image = [CIImage imageWithCGImage:[uiImage CGImage]];

  CIFilter *hueAdjust = [CIFilter filterWithName:@"CIHueAdjust"];
  [hueAdjust setDefaults];
  [hueAdjust setValue:image forKey: @"inputImage"];
  [hueAdjust setValue: [NSNumber numberWithFloat:angle] forKey: @"inputAngle"];
  self.resultImage = [hueAdjust valueForKey: @"outputImage"];

  CGImageRef cgImage = [context createCGImage:resultImage fromRect:resultImage.extent];
  screenImage.image = [UIImage imageWithCGImage:cgImage];
  CGImageRelease(cgImage);
}

Core Image 过滤器的完整列表在 Apple 网站上

于 2012-07-09T07:13:31.660 回答
1

你为什么使用图像?如果您有背景颜色,则意味着您使用的是纯色……实际上不是图像。因此,您可以设置按钮的背景颜色以及标题颜色。如果您这样做只是为了获得圆角,请不要这样做。只需import <QuartzCore/QuartzCore.h> 这样做:

button.layer.cornerRadius = 8;

button.layer.masksToBounds = TRUE;

希望这可以帮助。

干杯!

于 2012-07-09T07:09:21.820 回答