将缓动添加到UIView animateKeyframesWithDuration

时间:2015-10-02 15:24:04

标签: ios animation easing easing-functions

我正在使用

UIView animateKeyframesWithDuration

我使用

有3个动画部分
[UIView addKeyframeWithRelativeStartTime

然而,在其中一个关键帧我想要放松。

如何为此添加缓动功能?

1 个答案:

答案 0 :(得分:0)

这是一篇值得信赖的文章:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Animation_Types_Timing/Articles/Timing.html 您必须处理CAAnimation,而不仅仅是UIView

更新: 由于PO到目前为止没有成功,因此可能会出现一些问题: a)确保创建动画并添加如下:

CABasicAnimation* fadeAnim = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeAnim.fromValue = [NSNumber numberWithFloat:1.0];
fadeAnim.toValue = [NSNumber numberWithFloat:0.0];
fadeAnim.duration = 1.0;
[theLayer addAnimation:fadeAnim forKey:@"opacity"];

// Change the actual data value in the layer to the final value.
theLayer.opacity = 0.0;

有关详细信息,请参阅:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/CreatingBasicAnimations/CreatingBasicAnimations.html

b)当您使用 animateTransition:时,确保

  

所有动画都必须在由指定的视图中进行   transitionContext的containerView属性。

(访问https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewControllerAnimatedTransitioning_Protocol/#//apple_ref/occ/intfm/UIViewControllerAnimatedTransitioning/animateTransition:供参考)。希望这能帮助您解决所有问题。