0

我正在创建一个导航按钮。当用户按下它时,按钮的图像应该改变,反映它的状态(例如菜单打开/关闭)。我决定为此做一个变形动画。可以用 CoreAnimation 实现吗?我需要使用什么动画类型?
我附上了图片以清楚地说明我想要什么。此外,您可能会在“Pimp My Ride”节目中看到这些动画。
变形样本

4

1 回答 1

1

您可以为此使用UIImageView 的animationImages属性,如下所示:

myImageView = [[UIImageView alloc] initWithFrame:myImageViewbounds];

//Add images which will be used for the animation using an array. These should exist in your project and bundle already.
myImageView.animationImages =  @[[UIImage imageNamed:@"1.png"], [UIImage imageNamed:@"2.png"],[UIImage imageNamed:@"3.png"], [UIImage imageNamed:@"4.png"],[UIImage imageNamed:@"5.png"]];

//Set the duration of the entire animation
myImageView.animationDuration = 0.5;

//Set the repeat count. If you don't set that value, by default will be a loop (infinite)
myImageView.animationRepeatCount = 1;

//Start the animation
[myImageView startAnimating];

为了确保像过渡一样平滑变形,您可以查看具有许多出色模糊滤镜的GPUImage 。理想情况下,您应该能够在两个图像动画之间包装模糊动画以实现您想要的效果。

于 2014-08-04T11:22:44.160 回答