Для меня сверхинжиниринг включает в себя все, что вам не нужно и что вы не знаете, что вам понадобится. Если вы ловите себя на мысли, что функция может быть полезной, если требования меняются определенным образом, то это может быть чрезмерная разработка. По сути, чрезмерная инженерия нарушает ЯГНИ .
UIImageView
предоставляет необходимые API для создания ваших собственных анимаций, подобных этой:
UIImage *frame1 = [UIImage imageNamed:@"frame1.png"];
UIImage *frame2 = [UIImage imageNamed:@"frame2.png"];
UIImage *frame3 = [UIImage imageNamed:@"frame3.png"];
UIImage *frame4 = [UIImage imageNamed:@"frame4.png"];
UIImageView.animationImages = [[NSArray alloc] initWithObjects:frame1, frame2, frame3, frame4, nil];
UIImageView.animationDuration = 1.0 //defaults is number of animation images * 1/30th of a second
UIImageView.animationRepeatCount = 5; //default is 0, which repeats indefinitely
[UIImageView startAnimating];
//[uiImageView stopAnimating];
Ваш единственный выбор - написать собственный механизм рендеринга gif в представлении или подождать Apple чтобы исправить это.
В iPhone OS 3.0 файл cell.image больше не поддерживается. Вместо этого у ячейки есть свойство imageView, которое дает вам больше гибкости. Вы можете разделить анимированный gif на отдельные изображения, а затем сделать следующее:
anImageView *UIImageView = [[UIImageView alloc] init];
anImageView.animationImages = imagesArray; //this is an array of UIImages you have to create
Только UIWebView поддерживает отображение анимированного GIF-файла.
.