UIImageView Задержка animateImages - PullRequest
0 голосов
/ 20 июля 2011

Я как бы застрял с этой проблемой. У меня есть анимация UIImageView с 37 изображениями, где я показываю стакан, наполненный спиртом. Я инициализирую массив изображений в ViewDidLoad,

NSArray * GlassAnim  = [[NSArray alloc] initWithObjects:
                        [UIImage imageWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"SodaPour1" ofType:@"png"]],
                        [UIImage imageWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"SodaPour39" ofType:@"png"]],
                        nil];

imgGlass.animationImages = GlassAnim;
imgGlass.animationDuration = 2.5;
imgGlass.contentMode = UIViewContentModeScaleAspectFit;
imgGlass.animationRepeatCount=1;
[GlassAnim release];

Затем я вызываю startAnimating , когда пользователь касается экрана. Но проблема в том, что впервые анимация задерживается на полсекунды. Каждое изображение имеет размер 330 * 372 пикселей, а размер файла составляет 180KB png файлов. Есть ли лучший способ сделать это, кроме воспроизведения видео?.

Спасибо.

1 Ответ

0 голосов
/ 26 января 2012

Вот, пожалуйста,

  1. Вы запускаете таймер для изменения имен изображений.

    timerAnimation = [[NSTimer scheduledTimerWithTimeInterval:0.10 target:self
    selector:@selector(changeImagesAccordingly) userInfo:nil repeats:YES] 
    retain];
    
  2. Переименование изображений в последовательности.У меня есть 16 изображений.

    Например: - "AnimationImg1.png", "AnimationImg2.png", "AnimationImg3.png"

    - (void)changeImagesAccordingly {
        if (iImgAnim<16) {
            imgView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]
                   pathForResource:[NSString stringWithFormat:@"AnimationImg%d",iImgAnim] ofType:@"png"]];
            iImgAnim++;
        } else {
            [timerAnimation invalidate];
            iImgAnim=1;
        }
    }
    

Это должно сделать это:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...