CAAnimation在动画结束时会在动画结束时将动画变幻的属性如frame, transform变换到动画未开始之前的状态。之前我是通过fillMode及removeOnComplete来阻止这种效果。
这篇博客解释说这种现象是由于explicit animation只会对表示层的layer进行动画,而不会对model层中的layer属性值进行修改。所以正确的作法应该是在动画前记录original值,然后修改相应的model数据,再在动画中明确设置fromValue为original value再进行动画时就不会出现flash back现象,而且model的属性值也得到了修改。