Остановить анимацию на текущем изображении - PullRequest
6 голосов
/ 02 августа 2010

У меня есть изображение, которое анимируется, пока вы не нажмете кнопку «Стоп». Код работает и все, но изображение возвращается к первому изображению в массиве. Как я могу добавить код, чтобы он остановился на изображении, в котором он сейчас находится?

- (void)viewDidLoad {

    [super viewDidLoad];

    imageView.animationImages = [NSArray arrayWithObjects:
                             [UIImage imageNamed:@"a0001.png"],
                             [UIImage imageNamed:@"a0002.png"],
                             [UIImage imageNamed:@"a0003.png"],
                             [UIImage imageNamed:@"a0004.png"],
                             [UIImage imageNamed:@"a0005.png"], nil];

    imageView.animationDuration = 3.00;
    imageView.animationRepeatCount = 0;
    [imageView startAnimating];
    [self.view addSubview:imageView];   
}

- (IBAction)stopAni {       
    [imageView stopAnimating];      
}

Спасибо


Спасибо, Дин, эй, ты мне нужен еще раз: p Теперь я смог остановить его там, где я хочу, могу ли я заставить его продолжить анимацию там, где она остановилась ??

1 Ответ

3 голосов
/ 02 августа 2010

Установите для свойства изображения UIImageView значение, которое вы хотите остановить на

- (IBAction)stopAni {
    [imageView stopAnimating];
    [imageView setImage:[[imageView animationImages] objectAtIndex:currentFrame];
}

Текущий кадр - это просто продолжительность анимации, деленная на количество времени, в течение которого вы были аниматином (вам придется хранить время, когда вы начали анимировать себя!)

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