我正在尝试将一些自定义绘图代码从视图移动到CAShapeLayer
,然后将其作为子图层添加到原始视图的CALayer
。这也很有效,但是当旋转设备时,动画开始断断续续,例如,你只看到原始方向的框架,然后是最终的方向,中间至多有一个框架 - 根本不光滑。相应UIViewController
的幻灯片和幻灯片动画也有点不稳定(但不是那么多)。
CAShapeLayer
中path
所有CGPathAddRect
的{{1}}为opaque
,opacity
为1.0f
且fillColor
为drawRect
CAShapeLayer
设置为不透明蓝色。
但是,在视图CAShapeLayer
方法中直接绘制路径时,动画 是平滑的。所以我认为它与旋转期间动画的CGPath
有关。
你能告诉我如何摆脱那些抽搐或者在动画时隐藏CAShapeLayer
吗?回到直接绘制UIViewController
s对我来说不是一个选项,因为我依靠CAGradientLayer
设置其路径动画的能力(在我尝试旋转视图时没有动画)。
/ update:当旋转layerClass
视图包含子类{{1}}作为其{{1}}的视图时(例如,以渐变图层为背景的视图),也会发生这种情况。
干杯
MrMage
答案 0 :(得分:0)
有一个隐藏属性,你可以隐藏CAShapeLayer
然后做动画。然后调用一个取消隐藏CAShapeLayer
的方法,以便在旋转时看不到它,然后它应该是平滑的
答案 1 :(得分:0)
似乎Apple已经在iOS 4中解决了这个问题。