【发布时间】:2011-01-15 17:07:51
【问题描述】:
我正在尝试制作一个简单的图像查看器来查看 ALAssetRepresentation 的全分辨率图像。事实证明,事情并没有那么简单。
我的第一种方法是在 UIScrollView 中创建一个大的 UIImageView。虽然这确实有效,但速度很慢。
在使用照片应用时,当您触摸图像时,较大的版本会立即打开。起初,正在绘制一个非常低分辨率的图像。但很快,出现了更高分辨率的图像。另外,如果我放大,图像首先是较低的分辨率,然后分辨率会增加。
我查看了 WWDC 2010 主题演讲 #104,其中描述了 Photos.app 的工作原理。但是我应该如何实现呢?在主题演讲中,演示使用了预先平铺的图像,这是我无法从 ALAssetRepresentation 中获得的。我试过只加载全分辨率版本并使用 CATiledLayer 绘制它,虽然缩放等并不慢,但绘制瓷砖时太慢了。
Photos.app 是否在某处缓存所有图像的低分辨率版本或发生了什么?一些关于做什么的指示会很有帮助。
【问题讨论】:
标签: iphone ios uikit uiscrollview catiledlayer