关键帧动画是一种特殊的视图动画,它可以创建具有多个里程碑的动画,而不是从A点到B点。 关键帧是复杂,令人赏心悦目的动画的另一个构建块,允许您从简单的一次性动画升级到设计复杂的动画序列。
让我们看看如果你想将多个简单的动画链接在一起并以矩形模式移动视图,它会是什么样子:
要实现这一点,您可以将几个动画和完成闭包链接在一起,如下所示:
UIView.animate(withDuration: 0.5,
animations: {
view.center.x += 200.0
},
completion: { _ in
UIView.animate(withDuration: 0.5,
animations: {
view.center.y += 100.0
},completion: { _ in
UIView.animate(withDuration: 0.5,
animations: {
view.center.x -= 200.0
},
completion: { _ in
UIView.animate(withDuration: 0.5,
animations: {
view.center.y -= 100.0
}
)
}
)
}
)
}
)
看看所有的筑巢! 这是一个简单的矩形路径; 你能想象出一个更复杂的运动会是什么样子吗?
相反,您可以将总动画分成四个不同的阶段或关键帧,然后将各个关键帧组合成一个关键帧动画。
关键帧动画(Keyframe animations )
考虑另一个描绘飞机起飞顺序的动画。 此动画的不同阶段如下所示:
动画序列的第一阶段加速了跑道上的飞机。 第二阶段给飞机一点高度并向上倾斜。 第三阶段继续倾斜飞机并以更快的速度向天空升高飞机。