Как использовать GIF-файлы внутри приложения iOS без какой-либо сторонней библиотеки в Swift 5 с помощью UIKit?

В настоящее время я работаю над проектом, который сильно зависит от GIF. Тем не менее, я никогда не работал с GIF-файлами в Swift для iOS до того, как совсем запутался;)

Первое, что я попробовал, это импортировать несколько GIF-файлов в мой Assets.xcassets Folder. Я понял, что использование ImageSet для GIF не работает.

Итак, мой первый вопрос: как мне импортировать GIF-файлы в мой проект. И я должен использовать только одно разрешение или лучше три, как для изображений?

Затем я уже проверил несколько вопросов о представлении GIF внутри UIImageView программно и с помощью раскадровки. Насколько я понял, лучше всего использовать расширение для класса UIImage. Однако по какой-то причине примеры Swift 4 у меня не сработали; (

Итак, мой второй вопрос: как мне использовать импортированные GIF-файлы в моем проекте и программно отображать их в представлении UIImage?

Большое спасибо за вашу помощь, ребята, заранее!


person christophriepe    schedule 26.05.2020    source источник


Ответы (2)


Вам нужно вручную декодировать данные GIF, тогда вы сможете показывать их покадрово. Здесь у вас не будет простых ответов, потому что это определенно очень сложная идея, попробуйте скопировать алгоритм декодирования из стороннего и плеера или просто используйте его. Что-то вроде SDWebImage будет лучшим вариантом для вас. Проверьте классы SDAnimatedImagePlayer, SDWebAnimatedImage.

person саня    schedule 26.05.2020

У меня тоже была такая проблема, которую нужно было решить. Я нашел ответы в этой теме полезными. Пожалуйста, проверьте их. Добавить анимированное изображение Gif в Iphone UIImageView

Кроме того, я настоятельно рекомендую проверить некоторые реализации внутри FLAnimatedImage. Он обрабатывает отображение, воспроизведение и другие функции, которые могут вам понадобиться для GIF-файлов в iOS.

person Nare Muradyan    schedule 26.05.2020