动画24个大图像 - 每个728x936大小

时间:2012-03-07 16:45:51

标签: ios ipad animation ios5 timer

我现在通过设置UIImageView图层的内容让它们动画化。 我也试过用:

设置UIImageView的image属性
self.curtainAnimationView.image = image;

我使用NSTimer来调用设置图像的方法:

- (void) performCurtainAnimationWithFrame {    
    NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
    CGImageRef ref = ((UIImage *)[animationImages objectAtIndex:currentFrame]).CGImage;    
    self.curtainAnimationView.layer.contents = (id)ref;
    CGImageRelease(ref);
    [pool drain];

    currentFrame++;
}

计时器功能是:

NSTimer* timer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(performCurtainAnimationWithFrame) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

这是一个iPad项目,因此图像尺寸很大。

我还使用了UIImageView的animationImages属性,但我需要知道动画何时结束,UIImageView中没有委托方法。

如果有人有任何意见,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

如何从数组中设置动画

yourImageView.animationImages=arrayOfImages;
yourImageView.animationDuration=5.0;
yourImageView.animationRepeatCount=1;

[yourImageView startAnimating];

然后你知道持续时间

[self performSelector:@selector(yourMethod) withObject:nil afterDelay:5.0];

答案 1 :(得分:1)

这可能看起来有点油腻,但为什么不把它变成视频而只是玩呢?代表将在完成播放后通知您。