У меня есть UITableViewController, который заполняет UITableView некоторыми данными, которые я извлекаю из сети. Данные для каждой ячейки также состоят из изображения, используемого в качестве фона, которое я загружаю в отдельном NSOperation, добавленном в NSOperationQueue с MaxConcurrentOperationCount
, установленным в 4. Пока изображение не загружено, я показываю общий заполнитель, который я хотел бы заменить (исчезнуть / исчезнуть) загруженным изображением после его успешной загрузки.
Я использую следующий код, помещенный в cellForRowAtIndexPath
UITableViewController.
[UIView beginAnimations:@"fade" context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:3.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
cell.placeholderUIImage.alpha = 0.0;
cell.backgroundUIImage.alpha = 1.0;
[UIView commitAnimations];
К сожалению, это просто работает случайным образом для пары строк, поскольку для большинства фоновое изображение устанавливается мгновенно, как если бы анимация, запущенная в одной ячейке, была бы "перезаписана" при следующем вызове beginAnimations
.