gpt4 book ai didi

objective-c - 需要建议在 iOS 中处理大型矢量图形

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:11 25 4
gpt4 key购买 nike

我有一个项目需要渲染大型 SVG 文件。到目前为止,我一直在使用 UIWebView,它可以工作,但可能需要 10 秒以上才能呈现。在旧设备上,应用程序内存不足。

我想出了几个可能的解决方案:

  • 使用 CATiledLayer(但我找不到任何方法用 svg 来做到这一点)
  • 首先光栅化 SVG,将它们拆分,然后使用平铺层(不过,这在第一次运行时会非常慢)
  • 改用 PDF(虽然我不确定这是否对矢量有帮助 - 任何有经验的人?)

SVG 是在服务器端生成的,所以我也愿意接受这方面的建议(即更改格式)

在选择前进方向时,我很感激在这方面有经验的人的一些建议。衷心感谢您!

最佳答案

好的!经过多次试验和错误后,我相信我在 iOS 中有一个黄油般平滑的大量 SVG ScrollView 。

基本上,您需要将 svg 分割成图 block 并使用 UIWebViews 在 UIScrollView 中呈现它们。

确保从主线程异步加载图 block ,这可能很棘手,因为您不能从后台线程对 UIWebView 执行操作。如果您尝试在 scrollviewdidscroll 中加载图 block ,您将会遇到不稳定的帧率问题。

此外,您可能希望在 UIWebViews 中使用一个小的重置 css 来摆脱 tile 周围难看的填充。

* {
margin:0;
padding:0;
}

为我做的。

关于objective-c - 需要建议在 iOS 中处理大型矢量图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com