iOS:如何在 webview 或 wkwebview 中加载动画 webp 图像

Posted

技术标签:

【中文标题】iOS:如何在 webview 或 wkwebview 中加载动画 webp 图像【英文标题】:iOS:how to load animated webp image in webview or wkwebview 【发布时间】:2018-04-17 07:01:43 【问题描述】:

我无法在 UIWebview 或 WKWebview 中为本地 webp 图像或任何 webp 图像 url 加载动画 webp 图像。

网址:https://res.cloudinary.com/demo/image/upload/fl_awebp/bored_animation.webp

我想在 ios webview 中加载 webp 文件格式。我有要在 webview 中实现的本地 html 文件,该 html 文件包含 webp 格式的图像。

帮我在ios webview中实现webp。

【问题讨论】:

想详细说明一下?是否有任何错误,是否调用了任何委托方法,如何创建和加载 URL 等。 你到底想达到什么目的? @vinaykrishnan 我发现 webp 库它解码 webp 图像并仅显示非动画图像,但我想在 webview 中为 webp 图像设置动画。 【参考方案1】:

iOS 上 UIWebView 的原生实现不支持 WebP。当 UIWebView 呈现具有 WebP 图像的网页时。它显示了一个占位符,没有其他内容。

嗯,在你找到这个工具之前就是这样。 https://github.com/8BADBEEF/WebpForUIWebView

如果您想在 UIImageView 中加载 webP 图像,也请参阅此内容

您可以使用 Pod https://github.com/rs/SDWebImage

从 Web 加载 WebP 图像真的很容易

使用 Swift:

SDWebImageManager.shared().loadImage(with: url, options: .highPriority, progress: nil, completed: (resultSet) in
            YOURWEBVIEW.image = resultSet.0

        )

【讨论】:

我要求在 UIWebview 中加载动画 webp 图像,但我无法使用此工具 (github.com/8BADBEEF/WebpForUIWebView) 在 uiwebview 中加载动画 webp 图像,它仅支持非动画 wep 图像。 你会检查这个***.com/questions/28231580/… 我尝试了,但是如何将信息字典传递给 webview【参考方案2】:

UIWebView、WKWebView 和 SafariViewController 仅支持 APNG(iOS 8 之后),不支持 Webp 和 Animated WebP YYImage,用于显示动态图形,使用一个UIImageView子类YYAnimatedImageView,直接插入一个CALayer作为图片的渲染层,使用CADisplayLink帧定时器刷新动画帧,通过异步线程解码,部分C动态分配和回收内存以避免非常高的内存使用并保证性能。并且它会自动处理从视图中消失和滚动的问题(您仍然可以切换到 RunLoopCommonMode 进行滚动,同时仍然显示动作而不停止)。实现也很有趣。有兴趣的可以看看。

【讨论】:

以上是关于iOS:如何在 webview 或 wkwebview 中加载动画 webp 图像的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 7 WebView 上的 HTML 输入控件中选择文本时如何删除或禁用“定义”选项?

在 xCode 中禁用链接预览

如何创建两个 WkWebView

如何在移动 android/iOs(本机应用程序)中关闭 webview

如何在 iOS webview 的多个页面中注入/评估 JS?

如何调整cordova webview ios 10的大小