У меня есть UIImage
, который содержит несколько кадров изображения и продолжительность, которые были нарезаны вместе из анимированного файла GIF. Если я загружу изображение в UIWebView
, оно будет анимировано, как и ожидалось, но вместо этого я хочу использовать UITextView
. Очевидным выбором является использование TextKit с пользовательским атрибутом NSLayoutManger
и многими пользовательскими атрибутами NSAttributedString
для достижения различных эффектов рисования. У меня есть один UITextView
, которому я хотел бы дать NSAttributedString
, содержащий NSTextAttachment
для всех изображений, которые мне нужно отображать в строке. Он работает нормально, за исключением того, что когда я загружаю один из этих анимированных UIImages
, они не анимируются через свои кадры. Любые мысли о том, как это сделать? Я придумал теоретический вариант:
- Для каждого анимированного изображения добавьте настраиваемый атрибут
- Когда менеджер компоновки переходит к рисованию фона, повторите этот атрибут, чтобы найти позиции вложения.
- Обратный вызов текстового представления для создания
UIImageView
s с анимированным изображением, добавления в качестве подвида и вызоваstartAnimating
Мне еще предстоит попробовать это, но это довольно взломано. Мне интересно, есть ли лучший вариант.
Подводя итог: я хочу анимировать UIImage
внутри UITextView
через NSTextAttachment
внутри NSAttributedString
без необходимости в дополнительных объектах UIImageView
. Вы можете игнорировать тот факт, что ранее это делалось с UIWebView
. UIImage
имеет свойства (images
, duration
) для настройки анимированных кадров, которые я сейчас настроил. Если я назначу его UIImageView
, он анимируется, если я установлю его как NSTextAttachment
, анимации не будет.
Буду признателен за любые отзывы. Спасибо!
NSTextAttachment
и вручную измените свойствоimage
после задержки, заметите ли вы какие-нибудь изменения? Если это так, вы можете создать подклассNSTextAttachment
и воссоздать поведение анимации. - person Robert   schedule 08.05.2015NSTextAttachment
сCADisplayLink
, который будет анализировать анимированныйUIImage
и определять, когда необходимо обновить свойство изображения текстового вложения. Это кажется лишь немного менее хакерским, чем добавлениеUIImageView
подвидов к текстовому представлению. Я попробую, хотя и увидеть осуществимость. - person afrederick   schedule 11.05.2015GIF
какNSTextAttachment
кUITextView
, и он останется только статичным, как обычное изображение. - person Ivan Cantarino   schedule 20.03.2018