У меня есть код, который я не написал, но его нужно исправить. Существует последовательность анимации, которая должна воспроизводиться при запуске представления. Этот фрагмент кода отлично работал в iOS 6, но после обновления до iOS 8 последовательность анимации больше не работает. Может быть, вы можете помочь мне найти то, что это не так и почему она работает на 6, но не на 8.Анимационная последовательность больше не работает в iOS 8
- (void)viewDidLoad
{
//bla bla stuff
[self initiateImageSequence];
//bla bla more stuff
}
- (void)initiateImageSequence
{
dispatch_queue_t backgroundQueue = dispatch_queue_create("initiate", 0);
dispatch_async(backgroundQueue, ^{
[self.mainImageView setAnimationImages:self.zoom.imageSequenceArray];
[self.mainImageView setImage:[self.zoom.imageSequenceArray lastObject]];
dispatch_async(dispatch_get_main_queue(), ^{
// Update UI
[self.mainImageView setAnimationDuration:1.0];
[self.mainImageView setAnimationRepeatCount:1];
[self.mainImageView startAnimating];
[self showMainLayer];
[self performSelector:@selector(didReceiveMemoryWarningInSite) withObject:nil afterDelay:1.0];
});
});
}
Что происходит в настоящее время? Чего вы ожидаете? Что вы уже сделали, чтобы его диагностировать? –
В настоящее время ничего не происходит, я вижу, что должно произойти после анимации, что должно произойти, так это то, что нужно воспроизводить последовательность анимации. То, что я сделал, диагностирует, проверяет, заполнен ли массив изображений, и все в порядке, а также проверка печати с помощью NSLog, и кажется, что код работает нормально. – Dim
Возможно, это не так, но я считаю, что лучше всегда делать анимацию, изменения и т. Д. В главной очереди, иначе могут произойти странные вещи. Я бы выполнил всю загрузку в фоновом режиме, а затем начал анимацию. Я также предлагаю использовать 'dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)' , а не создавать свои собственные. – BooRanger