在没有CATiledLayer的iOS上呈现和缩放大图像

时间:2012-01-25 00:17:26

标签: iphone ios ipad catiledlayer

我想呈现并允许用户在iPhone和iPad上缩放大图像的方式与照片应用程序的工作方式非常相似。

我意识到CATiledLayer是这个的goto类,但它使用的美学对我的应用程序不起作用。它一个接一个地呈现图块,而照片应用程序立即呈现整个屏幕(并在缩放期间和之后显示像素化版本,直到应用程序可以赶上)。

我当然可以实现一个在每次缩放后在背景中渲染图像的视图。但是,一旦源图像变大,这将使应用程序崩溃。所以平铺是有吸引力的,我宁愿不更新屏幕,直到所有瓷砖准备好(并在此期间显示低分辨率图像)。

有没有人试图实现这样的事情?有什么想法吗?

2 个答案:

答案 0 :(得分:3)

Apple的PhotoScroller和ScrollViewSuite示例展示了如何执行此操作以及更多内容。

2010年的WWDC视频题为“使用滚动视图设计应用程序”,解释了PhotoScroller。

答案 1 :(得分:2)

我猜你可以有两个视图:一个带有低分辨率图像的ImageView,一个带有CaTiledLayer的自定义视图,带有透明背景并隐藏在开头。

因此,当缩放(您需要对两个视图应用缩放)并且需要额外的分辨率时,只需显示catiledlayered视图,这样它将在未加载的tile上显示lowres(和像素化)时加载tile。 / p>