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,它实际上是在 UITextViewNSTextAttachment 中查看动画。 【参考方案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 内的起始光标位置

滑动手势以隐藏 UITextView 内的键盘

UITableView 内的 UITextView

在 UITextView 上删除带有 alpha 动画的 CAGradientLayer

UIAlertController 内的多行可编辑文本 UITextview?

动态 UITableViewCell 高度内的动态 UITextView?