UITextView 内的动画 Gif
Posted
技术标签:
【中文标题】UITextView 内的动画 Gif【英文标题】:Animated Gif inside UITextView 【发布时间】:2015-03-19 00:34:36 【问题描述】:我查看了this 问题,但没有成功。我也试图避免this 之类的解决方案。最后,我愿意使用CADisplayLink
并手动更改每一帧。不过,有没有更简单的方法来做到这一点?
【问题讨论】:
您只是想要UITextView
中的图像还是想要 GIF 动画?如果您在谈论 CADisplayLink
和框架,那么我假设您希望它具有动画效果?
我希望 Gif 位于 TextView 内并(因此是 Gif)进行动画处理。
好吧,我就是这么想的。 Gif 不需要动画,它们可以只是一个帧。
@vikingosegundo 问题不是动画 gif,它实际上是在 UITextView
和 NSTextAttachment
中查看动画。
【参考方案1】:
如果只是一组按时间间隔按顺序显示的图像,则为动画 gif。您可以使用 UIImageView
来执行此操作,如下所示:
imageView.animationImages = [UIImage(named: "uploadFrame0")!, UIImage(named: "uploadFrame1")!, UIImage(named: "uploadFrame2")!, UIImage(named: "uploadFrame3")!, UIImage(named: "uploadFrame4")!, UIImage(named: "uploadFrame5")!, UIImage(named: "uploadFrame6")!, UIImage(named: "uploadFrame7")!, UIImage(named: "uploadFrame8")!]
imageView.animationDuration = 1
imageView.startAnimating()
然后您可以使用排除路径使文本围绕它流动。
【讨论】:
【参考方案2】:使用排除路径来定义保持空闲的区域,而不是使用图像视图添加图像。
NSMutableArray *exclutionPaths = [NSMutableArray array];
[exclutionPaths addObject:[UIBezierPath bezierPathWithRect:CGRectInset(imageFrame, -4, 0)]];
[_textView.textContainer setExclusionPaths:exclutionPaths];
[_textView addSubview:imageView];
【讨论】:
以上是关于UITextView 内的动画 Gif的主要内容,如果未能解决你的问题,请参考以下文章
在 UITextView 上删除带有 alpha 动画的 CAGradientLayer