CAShapeLayer减慢界面旋转
我正在尝试将一些自定义绘图代码从视图移动到CAShapeLayer
,然后将其作为子图层添加到原始视图的CALayer
。 这也很好,但是在旋转设备时,动画开始出现口吃,例如,您只能看到原始方向的框架,然后是最终方向,最多只有一个框架 - 完全不平滑。 相应的UIViewController
滑入和滑出动画也有点不稳定(但不是那么多)。
所有CAShapeLayer
在它的path
都有一个CGPathAddRect
,它被设置为opaque
,其opacity
为1.0f
,并且fillColor
被设置为不透明的蓝色。
但是,直接在视图drawRect
方法中绘制路径时,动画很平滑。 所以我想这与CAShapeLayer
在旋转过程中进行动画有关。
你能告诉我如何摆脱这些急动或在动画时隐藏CAShapeLayer
? 回到直接绘制CGPath
对我来说不是一种选择,因为我依靠CAShapeLayer
为其路径设置动画的能力(在我尝试旋转视图的过程中,它不是动画效果)。
/ update:当旋转UIViewController
的视图包含CAGradientLayer
的子类作为其layerClass
的视图(例如,具有作为背景的梯度图层的视图)时,也会发生这种情况。
干杯
MrMage
那么有一个隐藏属性,你可以隐藏CAShapeLayer
然后做动画。 然后调用一个CAShapeLayer
的方法,以便在旋转时不会看到它,然后它应该平滑
似乎这个问题已被iOS 4中的Apple修复。
链接地址: http://www.djcxy.com/p/74245.html