Fel*_*ano 19 mask objective-c layer uibutton uiimage
我需要复制UIButton在点击时对图像所做的效果,突出显示.看到:

原始PNG是具有alpha背景的正方形.当我将其设置为UIButton的图像时,它会自动对图像的非alpha像素应用效果.
怎么做这个效果?
omz*_*omz 49
您可以使用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
Run Code Online (Sandbox Code Playgroud)
对于上面显示的效果,您将传递类似于[UIColor colorWithWhite:0.0 alpha:0.3]tintColor参数(使用alpha值进行实验).
| 归档时间: |
|
| 查看次数: |
6841 次 |
| 最近记录: |