简单地说,在某些事件中,只有我的图标的一部分必须改变颜色。
我在UIView中绘制了一个带有曲线的图标。该图归结为将几个路径组合在一起,如下图所示(swift代码):
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的填充颜色。我该怎么做呢?
发布于 2016-01-07 22:57:03
您可以清理当前蒙版,并使用笔触/填充颜色重新绘制任何边框路径,并将它们组合在一起,然后重新设置。对于绘制动画,您可以参考How to Animate CoreGraphics Drawing of Shape Using CAKeyframeAnimation
https://stackoverflow.com/questions/34340679
复制相似问题