UIImageView,使用easeIn easeInOut过渡动画animationImages

时间:2011-11-18 04:17:01

标签: objective-c ios animation uiimageview transitions

我有一个代码:

NSArray * imageArray  = [[NSArray alloc] initWithObjects:
                            [UIImage imageNamed:@"1.png"],
                            [UIImage imageNamed:@"2.png"],
                            [UIImage imageNamed:@"3.png"],
                            [UIImage imageNamed:@"4.png"],
                            [UIImage imageNamed:@"5.png"],
                            [UIImage imageNamed:@"6.png"],
                            [UIImage imageNamed:@"7.png"],
                            [UIImage imageNamed:@"8.png"],
                            [UIImage imageNamed:@"9.png"],
                            [UIImage imageNamed:@"10.png"],
                            [UIImage imageNamed:@"11.png"],
                            [UIImage imageNamed:@"12.png"],
                            nil];
    UIImageView * imgView = [[UIImageView alloc] initWithFrame:
        CGRectMake(100, 125, 150, 130)];
    imgView.animationImages = imageArray;
    imgView.animationDuration = 2;
    imgView.contentMode = UIViewContentModeBottomLeft;
    [self.view addSubview:imgView];
    [imgView startAnimating];

如您所见,此代码实现了imageArray中图像集合的动画(更改) 在动画期间,每个图像都会以恒定的时间间隔变化,让我们说它的动画是easyNone过渡。

但是,如何使用easeIn,easeInOut过渡创建此动画?

1 个答案:

答案 0 :(得分:1)

哇,自发布以来已经过去了一年。

我不确定你是否找到了自己的答案,但我所做的是通过图片(1.png,2.png等等)自我缓和。

例如:

PNG的1-5.png可能在动画项目之间有10px的间距。

PNG的6-8.png可能在动画项目之间有5px的间距。

PNG的9-10.png可能在动画项目之间有2px的间距。

最后 PNG的9-10.png可能在动画项目之间有1px的间距,或者根本没有间距差异。

这样做会为您提供您正在寻找的 Ease Out 效果。

试用和错误是关键!

我喜欢做的是在Xcode中设置我的动画(就像你在问题中所做的那样),然后转到Photoshop并覆盖我的开发文件夹中的PNG,试试它们模拟器,重复,直到我得到所需的效果。