WatchKit: Как динамически анимировать изображения, хранящиеся в Nsmutablearray в objC

Вот моё сомнение!!!

Как запустить GIF-изображение непосредственно из nsmutablearray, который я динамически сохранял изображения, назначив его Wkinterfaceimage???

В настоящее время я работаю над GIF-изображениями, назначаемыми wkinterfaceimage. Я сохранил набор изображений в Mutablearray во время выполнения путем преобразования изображения GIF. Как назначить этот массив wkinterfaceimage, чтобы показать изображение запуска GIF. я нашел пару обучающих программ в swift, которые пытались реализовать в OBJ C, и, пожалуйста, дайте мне знать ваши идеи и код в Objective C

Вот мой код

 [imageView setImage:[frames objectAtIndex:0]];

 [imageView startAnimatingWithImagesInRange:NSMakeRange(0,frames.count) duration:1 repeatCount:0];

используя приведенный выше код, показывающий пустой экран на similator, если закомментирована вторая строка, показывающая 0 индексное изображение.

Результаты оценки кадров

 2015-04-08 10:21:53.206 WatchkitDemo WatchKit Extension[852:24553] {
     DelayTime = "0.1";
     UnclampedDelayTime = 0; }

Результаты массива Frames

2015-04-08 10:21:58.807 WatchkitDemo WatchKit Extension[852:24553] (
    "<UIImage: 0x7fe358d2d320>",
    "<UIImage: 0x7fe358f05d60>",
    "<UIImage: 0x7fe358f08230>",
    "<UIImage: 0x7fe358d2fd50>"
)

1 ответ

Решение

Существует способ конвертировать GIF-изображение, полученное с сервера, в массив. Я думаю, что Mayoff UIImage Category может помочь вам. Я могу дать вам представление о том, что вы можете сделать:

1) Получите gif любым из методов, определенных в категории:

+[UIImage animatedImageWithAnimatedGIFData:(NSData *)data]
+[UIImage animatedImageWithAnimatedGIFURL:(NSURL *)url]

2) Зайдите в файл реализации UIImage + animatedGIF.m. В строке № 89 метод animatedImageWithAnimatedGIFImageSource был реализован. Метод createImagesAndDelays был вызван туда, чтобы создать массив изображений. Хранит отдельные изображения в переменной, объявленной как CGImageRef images[count],

Вы можете сделать эту переменную переменной экземпляра или заставить статический метод возвращать массив разделенных изображений gif.

3) конвертировать эти изображения в формате, принятом Wkinterfaceimage,

Надеюсь, поможет:)

Другие вопросы по тегам