动画子层时多次调用的UIView Draw方法

时间:2018-12-10 15:02:45

标签: animation xamarin.forms xamarin.ios cashapelayer

我对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

0 个答案:

没有答案