gpt4 book ai didi

objective-c - 如何在点击时像 UIButton 一样在 UIImage 上实现突出显示?

转载 作者:太空狗 更新时间:2023-10-30 03:14:03 25 4
gpt4 key购买 nike

我需要复制 UIButton 在点击时对图像所做的效果,突出显示。见:

alt text

原始 PNG 是一个带有 alpha 背景的正方形。当我将它设置为 UIButton 的图像时,它会自动对图像的非 alpha 像素应用效果。

这个效果怎么做出来的?

最佳答案

您可以通过 UIImage 上的简单类别实现此目的:

@interface UIImage (Tint)

- (UIImage *)tintedImageUsingColor:(UIColor *)tintColor;

@end

@implementation UIImage (Tint)

- (UIImage *)tintedImageUsingColor:(UIColor *)tintColor {
UIGraphicsBeginImageContextWithOptions(self.size, NO, self.scale);
CGRect drawRect = CGRectMake(0, 0, self.size.width, self.size.height);
[self drawInRect:drawRect];
[tintColor set];
UIRectFillUsingBlendMode(drawRect, kCGBlendModeSourceAtop);
UIImage *tintedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return tintedImage;
}

@end

对于上面显示的效果,您将传递类似 [UIColor colorWithWhite:0.0 alpha:0.3] 的东西作为 tintColor 参数(用 alpha 值进行实验)。

关于objective-c - 如何在点击时像 UIButton 一样在 UIImage 上实现突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4681903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com