Завершение анимации IOS - PullRequest
       1

Завершение анимации IOS

2 голосов
/ 06 февраля 2012

У меня есть приложение, которое оживляет альфа некоторых изображений от 0 до 1. Если я вернусь к предыдущему виду с помощью popToRootViewController, а затем вернусь в этом виде, анимация продолжится с того места, где она была, когда я нажал кнопку возврата. Также «анимационный фильм» начинается снова, пока другая анимация еще не завершена. Вид двух фильмов, играющих одновременно.

Я отображаю изображения так:

-(void)showStar2
{

    [UIView animateWithDuration:0.3f animations:^{
        [UIView setAnimationDelay:0.3];
        [stars[1] setAlpha:1];
        } completion:^(BOOL finished){
        [self showStar3];
    }];

Есть ли способ остановить процесс анимации, когда я нажимаю кнопку "Назад"? Я пытался [self.view.layer removeAllAnimations], но все равно это не работает.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Поставьте это перед созданием вашего starView (не знаю, как он называется)

if (starView!=nil){
        [starView removeFromSuperview];
        [starView release];
        starView = nil;
    }
starView = [[UIView alloc] initWithFrame:frame];

Это удалит ваше изображение перед созданием нового.

Или удалите свое изображение, когда закроете вид.

0 голосов
/ 06 февраля 2012

Вам нужно будет импортировать файл QuartzCore.h.

#import <QuartzCore/QuartzCore.h>

и всякий раз, когда вы хотите остановить анимацию, вызывайте это

[CATransaction begin];
[self.view.layer removeAllAnimations];
[CATransaction commit];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...