【问题标题】:Svg image is not properly showing using SVGKit使用 SVGKit 无法正确显示 Svg 图像
【发布时间】:2020-05-11 17:01:42
【问题描述】:

我使用 SVGKit 库来显示 svg 图像,但图像中有一些额外的编号。

这是实际图片:

但是 imageView 中显示的图像是这样的:

正如您在第二张图片中看到的那样,顶部和底部成串显示的数字不是原始图片的一部分。

我该如何解决这个问题。我是第一次使用 svg 图片,所以我不知道这背后的原因。

这是从 url 显示 svg 图像的代码:

let svgURL = URL(string: imageUrl)
let data = try? Data(contentsOf: svgURL)
let receivedIcon: SVGKImage = SVGKImage(data: data)
                        self.svgImageView.image = receivedIcon.uiImage

【问题讨论】:

  • 请添加 svgView 的代码。您的 sgView 的帧大小可能未按您希望的方式设置。您还可以尝试在 webview 和 svg 上进行比例填充。尝试更改视图的背景颜色,例如 webView 和 svgView,以查看它们的帧大小。
  • 我以两种方式设置 svg 图像,第一种是第 3 方库,其中图像大小非常好,但缺少一些图像部分(参见图 2)。但是在使用 wkwebview 时,显示的图像是太小了(图 1)。
  • 尝试更改 webView 的颜色。它会告诉你框架有多大。它会覆盖屏幕吗?如果它没有覆盖你的屏幕,那么你需要改变你的 webView 的框架。
  • 问题也可能出在 html 文件上。在您的第三方库中,您的 SVG 正在调整大小。 UIWebView 可能在调整大小时遇到​​问题。尝试看看其他人如何使用 UIWebView 加载 SVG。

标签: ios swift svg uiimageview svgkit


【解决方案1】:

您的代码非常好。如果 SVG 图像没有问题,图像肯定会显示。问题不在于 WKWebView,问题在于 SVG 图像的编码。我们知道 SVG 是由一个 html css 代码组成的..,尝试修复那个 css 部分。

另外请在浏览器中打开你的图片链接并尝试降低窗口的宽度高度,如果有css问题,你的图片肯定会显示失真。

也关注这个issue

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 2021-06-24
    • 2015-05-03
    • 2020-08-27
    • 2021-09-26
    相关资源
    最近更新 更多