我现在通过设置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中没有委托方法。
如果有人有任何意见,我们将不胜感激。
答案 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)
这可能看起来有点油腻,但为什么不把它变成视频而只是玩呢?代表将在完成播放后通知您。