【问题标题】:Animated Gif inside UITextViewUITextView 内的动画 Gif
【发布时间】:2015-03-19 00:34:36
【问题描述】:

我查看了this 问题,但没有成功。我也试图避免this 之类的解决方案。最后,我愿意使用CADisplayLink 并手动更改每一帧。不过,有没有更简单的方法来做到这一点?

【问题讨论】:

  • 您只是想要UITextView 中的图像还是想要 GIF 动画?如果您在谈论 CADisplayLink 和框架,那么我假设您希望它具有动画效果?
  • 我希望 Gif 位于 TextView 内并(因此是 Gif)进行动画处理。
  • 好吧,我就是这么想的。 Gif 不需要动画,它们可以只是一个帧。
  • @vikingosegundo 问题不是动画 gif,它实际上是在 UITextViewNSTextAttachment 中查看动画。

标签: ios objective-c swift uitextview nsattributedstring


【解决方案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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多