CAKeyframeAnimation动画完成后如何使View不回到原来的状态?

-(void)closeAction

{

CAKeyframeAnimation *hideAnimation = CAKeyframeAnimation animationWithKeyPath:@"transform"];

hideAnimation.duration = 0.4;

hideAnimation.values = @NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1f, 1.1f, 1.0f)],

NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0f, 1.0f, 1.0f)],

NSValue valueWithCATransform3D:CATransform3DMakeScale(0.0f, 0.0f, 0.0f)]];

hideAnimation.keyTimes = @@0.2f, @0.5f, @0.75f];

hideAnimation.timingFunctions = @CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],

CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],

CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

hideAnimation.delegate = self;

self.layer addAnimation:hideAnimation forKey:nil];

}

- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag {

//;

}

以上的代码实现了一个view先放大一点然后缩小至0的动画

但是动画完成后view会回到原来的大小状态

在hideAnimation的delegate中hidden或者remove也会出现先迅速回到原来大小然后立即消失的“一闪”问题

求大神帮忙!

表示 是否动画回到原位
;

hideAnimation.removedOnCompletion = NO;
hideAnimation.fillMode = kCAFillModeForwards;
加上以上两行代码问题解决,这也是我论坛里找到的,第一句属性的意思很直白能看明白,但第二句设置的属性有什么作用不是很明白,望指教