简单来说,只有部分图标必须在某些事件中改变颜色。
我在UIView
内绘制了一个带有曲线的图标。画画会出现
将这几条路径组合起来(快速代码):
let combinedPath = CGPathCreateMutableCopy(bezierPath.CGPath)
CGPathAddPath(combinedPath, nil, bezier2Path.CGPath);
CGPathAddPath(combinedPath, nil, bezier3Path.CGPath);
然后我将这样的组合路径添加到UIView(obj-c,对不起 混合):
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.frame = self.bounds;
shapeLayer.path = combinedPath;
self.layer.mask = shapeLayer;
现在在某些时候我想改变填充颜色
只有一个带有动画的bezierPath
。我怎么能这样做?
答案 0 :(得分:0)
您可以清理当前蒙版,并使用笔触/填充颜色重绘任何贝塞尔曲线路径并将它们组合在一起,然后重新设置。对于绘制动画,您可以参考How to Animate CoreGraphics Drawing of Shape Using CAKeyframeAnimation