你如何"乒乓"一个UIView图像序列动画

Jon*_*an 2 iphone animation image sequence uiimageview

我有一个UIImageView,它有一个png图像序列加载到它.

我的问题是 - 你知道我能用什么方式"打乒乓"动画片段吗?因此它从1-24向前播放然后从24-1向后播放并循环播放.

(技术上应该是:1-24然后23-1然后2-24然后23-1 ......等)

- (void) loadAnim01 {
mon01 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mon01_01.png"]];
mon01.center = CGPointMake(258,69);
NSMutableArray *array = [NSMutableArray array];
for (int i = 1; i <= 24; i++) 
    [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"mon01_%02d.png",i]]];
mon01.animationImages = array;
mon01.animationDuration = 1.0;
mon01.animationRepeatCount = 0;
[self.view addSubview:mon01];
[mon01 release];
Run Code Online (Sandbox Code Playgroud)

}

非常感谢!

Dav*_*des 7

for (int i = 1; i <= 24; i++) {
    [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"mon01_%02d.png",i]]];
}
for (int j = 23; j >= 2; j--) {
    [array addObject:[array objectAtIndex:j-1]];  // -1 since arrays are 0-based
}
Run Code Online (Sandbox Code Playgroud)

这会以相反的顺序添加除第一个和最后一个动画之外的所有动画的第二个副本,这应该会给你一个乒乓效果.