如何在某个帧中在iOS上显示GIF,在完全加载之前不显示它,并允许缩放?

如何在某个帧中在iOS上显示GIF,在完全加载之前不显示它,并允许缩放?,第1张

概述当用户选择GIF时,我想在显示GIF的所有内容上显示叠加层. 我知道在iOS上有几种方法可以做到这一点.有很棒的UIImage+animatedGIF可以很好地工作,但是对于更长的GIF,它们非常慢并且不能以与UIWebView相同的速度播放(以准确的播放速度播放). 它很糟糕,因为如果那个类别没有慢慢播放它会做我需要的一切. 但事实并非如此,所以我尝试使用UIWebView,但是我对三件事感到困 当用户选择GIF时,我想在显示GIF的所有内容上显示叠加层.

我知道在iOS上有几种方法可以做到这一点.有很棒的UIImage+animatedGIF可以很好地工作,但是对于更长的GIF,它们非常慢并且不能以与UIWebVIEw相同的速度播放(以准确的播放速度播放).

它很糟糕,因为如果那个类别没有慢慢播放它会做我需要的一切.

但事实并非如此,所以我尝试使用UIWebVIEw,但是我对三件事感到困惑:

>如何获得UIWebVIEw在呈现时的大小(其框架)?我是否必须首先下载GIF作为UIImage然后检查其大小属性?有没有更好的方法(可能需要一段时间)?
>如何阻止它播放直到它满载?
>使用上面的类别,因为它只是一个UIImage,当我在滚动视图中将它作为UIImageVIEw嵌入时,它很容易放大和缩小.这可以通过UIWebvIEw实现吗?

解决方法 1.

首先想到的解决方案是将webvIEw的背景设置为清除颜色,并在加载完成后将其放置在正确的位置.
通常我用

[webVIEw stringByEvaluatingJavaScriptFromString:@“document.body.offsetHeight;”]

但是,如果您将webvIEw导向gif网址,那将无效.

2.

- (voID)webVIEwDIDFinishLoad:(UIWebVIEw *)webVIEw{    webVIEw.Alpha = 1;}

这样,只有在gif完全加载后,UIWebVIEw才会显示给用户.

3.

[webVIEw setScalesPagetoFit:YES];
总结

以上是内存溢出为你收集整理的如何在某个帧中在iOS上显示GIF,在完全加载之前不显示它,并允许缩放?全部内容,希望文章能够帮你解决如何在某个帧中在iOS上显示GIF,在完全加载之前不显示它,并允许缩放?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1073798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存