0

我正在尝试将一些自定义绘图代码从视图移动到 aCAShapeLayer中,然后将其作为子层添加到原始视图的CALayer. 这也很有效,但是当旋转设备时,动画开始出现断断续续的情况,例如,您只看到原始方向的帧,然后是最终方向,中间最多有一帧 - 一点也不流畅。相应的滑入和滑出动画UIViewController也有点生涩(但不是那么多)。

它中的所有CAShapeLayer具有path是一CGPathAddRect,它被设置为opaque,它的opacity1.0f并且fillColor被设置为不透明的蓝色。

然而,当直接在视图drawRect方法中绘制路径时,动画平滑的。所以我想这与CAShapeLayer旋转期间的动画有关。

你能告诉我如何摆脱那些急躁或只是CAShapeLayer在动画时隐藏?回到CGPath直接 draw s 对我来说不是一个选择,因为我依赖于CAShapeLayer为其路径设置动画的能力(在我尝试旋转视图时它没有动画)。

/update:当旋转UIViewController的视图包含一个具有子类的视图CAGradientLayer时也会发生这种情况layerClass(例如,具有渐变层作为背景的视图)。

干杯

法师先生

4

2 回答 2

0

那么有一个隐藏属性,你可以隐藏CAShapeLayer然后做动画。然后调用一个取消隐藏的方法,CAShapeLayer以便在旋转时看不到它,然后它应该是平滑的

于 2010-01-12T17:28:51.993 回答
0

似乎这个问题已经被 Apple 在 iOS 4 中修复了。

于 2010-09-22T09:29:40.290 回答