【问题标题】:iOS:how to load animated webp image in webview or wkwebviewiOS:如何在 webview 或 wkwebview 中加载动画 webp 图像
【发布时间】: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 图像设置动画。

标签: ios iphone ipad webview


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

        })

【讨论】:

【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2013-05-13
    • 2021-01-05
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2013-03-30
    • 2022-01-27
    相关资源
    最近更新 更多