Я хотел бы, чтобы цвет белый значок на другой цвет в время выполнения, я пытался использовать следующий метод, взятый из здесь:Как окрасить белое изображение в быстрый цвет?
Masking an image in Swift using CALayer and UIImage
, но без успеха:
func maskImageView() {
var maskImageSize = CGSizeMake(self.downloadImageView.frame.width, self.downloadImageView.frame.height)
UIGraphicsBeginImageContextWithOptions(maskImageSize, false, 0.0)
var color = UIColor(white: 1.0, alpha: 1.0)
color.setFill()
var rect = CGRectMake(0, 0, self.downloadImageView.frame.width, self.downloadImageView.frame.height)
UIRectFill(rect)
color = BrandColors.BRAND_FIRST_COLOR
color.setFill()
rect = CGRectMake((self.downloadImageView.frame.width/2)-100, (self.downloadImageView.frame.height/2)-100, 200, 200)
UIRectFill(rect)
var maskImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
var maskLayer = CALayer()
maskLayer.frame = CGRectMake(0, 0, self.downloadImageView.bounds.width, self.downloadImageView.bounds.height)
maskLayer.contents = maskImage.CGImage
maskLayer.contentsRect = CGRectMake(0, 0, self.downloadImageView.bounds.width, self.downloadImageView.bounds.height)
self.downloadImageView.layer.mask = maskLayer;
}
I может действительно выяснить, как работает эта маска. Может кто-нибудь сказать мне, что я делаю неправильно?
Заранее спасибо.
ли ваше изображение прозрачные детали в нем? –
@ DánielNagy да. –
Я думал то же самое, что и вы нашли :) –