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
,
Надеюсь, поможет:)