我正在尝试将一些自定义绘图代码从视图移动到 aCAShapeLayer中,然后将其作为子层添加到原始视图的CALayer. 这也很有效,但是当旋转设备时,动画开始出现断断续续的情况,例如,您只看到原始方向的帧,然后是最终方向,中间最多有一帧 - 一点也不流畅。相应的滑入和滑出动画UIViewController也有点生涩(但不是那么多)。
它中的所有CAShapeLayer具有path是一CGPathAddRect,它被设置为opaque,它的opacity是1.0f并且fillColor被设置为不透明的蓝色。
然而,当直接在视图drawRect方法中绘制路径时,动画是平滑的。所以我想这与CAShapeLayer旋转期间的动画有关。
你能告诉我如何摆脱那些急躁或只是CAShapeLayer在动画时隐藏?回到CGPath直接 draw s 对我来说不是一个选择,因为我依赖于CAShapeLayer为其路径设置动画的能力(在我尝试旋转视图时它没有动画)。
/update:当旋转UIViewController的视图包含一个具有子类的视图CAGradientLayer时也会发生这种情况layerClass(例如,具有渐变层作为背景的视图)。
干杯
法师先生