[英]How to change color of svg images in ios?
我想更改 svg 图像的颜色。 我正在使用以下代码,它隐藏图像并用颜色集填充整个图像视图。
self.badmintonImgView.tintColor = [UIColor orangeColor];
我需要改变图像的颜色。 请建议
如果SVG
在Assets.xcassets
中,您可以告诉 Xcode 将图像视为图标:
首先,在资产目录中选择您的SVG
图像
然后将渲染模式设置为模板图像
UIImage * imageOrange = [[UIImage imageNamed:@"yourSVGImageName"] imageWithTintColor:UIColor.orangeColor];
UIImageView * yourImageView = [[UIImageView alloc] initWithImage: imageOrange];
请记住将图像添加到assets
文件夹。 我希望它对你有帮助。
执行以下操作可能对您有用。
SVGKImage *svgImage = [SVGKImage imageNamed:@"YOURIMAGENAME"];
SVGKLayeredImageView *svgImageView = [[SVGKLayeredImageView alloc] initWithSVGKImage:svgImage];
[capturedImageView addSubview:svgImageView];
CALayer* layer = svgImageView.layer;
for (CALayer *subLayer in layer.sublayers) {
for (CALayer *subSubLayer in subLayer.sublayers) {
for (CALayer *subSubSubLayer in subSubLayer.sublayers) {
if( [subSubSubLayer isKindOfClass:[CAShapeLayer class]]){
CAShapeLayer* shapeLayer = (CAShapeLayer*)subSubSubLayer;
shapeLayer.fillColor = [UIColor BlackColor].CGColor;
}
}
}
}
试试这个 [self.badmintonImgView setTintColor:[UIColor redColor]];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.