Анимируйте 24 больших изображения - каждое размером 728x936 - PullRequest
1 голос
/ 07 марта 2012

У меня есть их анимация прямо сейчас, установив содержимое слоя UIImageView.Я также попытался установить свойство изображения UIImageView с помощью:

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, поэтому большие размеры изображения.

Я также использовал свойство animationImages UIImageView, но мне нужно знать, когда заканчивается анимация, для которой нетМетод делегата в UIImageView.

Если у кого-либо есть входные данные, он будет очень признателен.

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Это может показаться немного легкомысленным, но почему бы не превратить это в видео и просто воспроизвести это?Делегат сообщит вам, когда он закончит играть.

1 голос
/ 07 марта 2012

Как насчет анимации из массива

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

[yourImageView startAnimating];

Тогда вы знаете продолжительность, поэтому

[self performSelector:@selector(yourMethod) withObject:nil afterDelay:5.0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...