ios - 在 ScrollView 中加载非常大的图像以进行缩放的最佳实践?

标签 ios objective-c uiview uiimage catiledlayer

我正在将一个非常大的图像 (8000x8000) 加载到 UIScrollView 中的 UIImageView 中。这可行,但会消耗大量内存,并且需要几秒钟才能加载。

我研究了一种更好的方法,我找到的所有示例都基于 2010 年 WWDC 的名为 PhotoScroller 的示例。此示例使用带有 CATiledLayer 的自定义 UIView 将大图像分解为较小的图 block 并将它们绘制到屏幕上。

https://github.com/master-nevi/WWDC-2010/tree/master/PhotoScroller

在 iOS 13 中是否有更现代的方法来执行此操作,或者这仍然是最佳方法?

最佳答案

这仍然是最好的方法。 8000x8000 很大。您无法一次加载整个图像。 CATiledLayer 意味着您一次只需要加载几个图 block - 只需加载用户当前正在查看的图像部分。

关于ios - 在 ScrollView 中加载非常大的图像以进行缩放的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58756942/

相关文章:

ios - 单个 UITextField 输入多个项目而无需关闭键盘

iphone - 转换发送方参数

objective-c - UIScrollView,分页和旋转 : Second view is not aligned properly after rotation

objective-c - 创建一个包含多个 NSMutableDictionary 对象的 NSMutableArray

ios - 带有图案图像和颜色的UIColor

ios - 如何在 CAShapeLayer 中制作动态 strokeColor?在 swift

ios - 如何更改#define值

ios - 在 Swift 中使用 XIB 自定义 UIView 子类

javascript - 使用 video.js 在 ios 上内联播放视频?

IOS Swift 在使用 nib 文件进行可重用 View 时出现混淆错误