我对UIView进行了子类化,并将该子层(继承自CAShape层)添加到此类中,并且正在使用UIView的draw方法对子层进行动画处理。
在动画完成之前进行动画处理时,多次调用draw方法,这会导致闪烁。导航页面时发生此问题,并且仅在iOS12中发生。我正在使用CADisplaylink制作动画。
在draw方法中,我正在使用以下代码执行动画
if (myCAShapeLayer == null)
myCAShapeLayer = new AnimationLayer(this); // animation layer inherited from CAShapeLayer.
this.Layer.AddSublayer(myCAShapeLayer);
Animate(); //Animation logics.
myCAShapeLayer.StrokeColor = RangeColor.CGColor; //set to some color
myCAShapeLayer.FillColor = RangeColor.CGColor; // set to some color