该文件是不是说真的很了解这是什么技术上说。
fadeInAnimation.fillMode = kCAFillModeForwards;
我实在看不出这样的效果。 我有用α设定为0.0的图。 然后我消除它。但是,当我取消对该行abouth,没有什么变化。 相同的行为。 我想了解一下这个在fillMode确实。
该文件是不是说真的很了解这是什么技术上说。
fadeInAnimation.fillMode = kCAFillModeForwards;
我实在看不出这样的效果。 我有用α设定为0.0的图。 然后我消除它。但是,当我取消对该行abouth,没有什么变化。 相同的行为。 我想了解一下这个在fillMode确实。
从CAMediaTiming协议文档 :
确定接收的介绍被冻结或一旦其活动期间完成删除。
这就决定了在动画的最后会发生什么。 默认情况下,它被设置为kCAFillModeRemoved,这意味着在完成动画时的动画效果更改都被撤消。 如果你把它切换到kCAFillModeForwards,造成动画的变化会流连。
请注意,您也可能需要到removedOnCompletion属性设置为NO,以防止你的动画被删除,这将使该设置无效。
让我给它一个更明确的答案:
虽然在外观动画的设置fillMode
属性kCAFillModeForwards
(或kCAFillModeBoth),并在同一时间设置removedOnCompletion
到NO
可以保持你的层在其最后的状态,当动画完成,但这使用fillMode
是不是设计的方式 。 实际上造成伤害,如果你有其他的动画添加到同样的keyPath
(顺便说一下,为保持动画最终状态正确的做法是改变属性值以匹配动画的最后一帧。)
什么fillMode
真正使用与分组的动画中一个孩子的动画连接,因此您可以指定所需的状态特定子动画