我想展示并允许用户在iPhone和iPad上缩放大图像,其方式与照片应用程序的工作方式非常相似。
我知道CATiledLayer就是这方面的goto类,但它使用的美感对我的应用程序不起作用。它一个接一个地渲染瓷砖,而Photos应用程序一次渲染整个屏幕(并在缩放过程中和之后显示像素化版本,直到应用程序可以赶上)。
我当然可以实现一个视图,在每次缩放后在背景中呈现图像。然而,一旦源图像变得很大,这将使应用程序崩溃。所以平铺很吸引人,我只是希望在所有的平铺都准备好之前不要更新屏幕(同时显示一个较低分辨率的图像)。
有没有人尝试过实现这样的东西?有什么想法吗?
发布于 2012-01-25 09:50:02
我猜你可以有两个视图:一个是带有低分辨率图像的ImageView,另一个是带有CaTiledLayer的自定义视图,具有透明的背景,并且在开始时隐藏。
所以,当缩放(你需要对两个视图都应用缩放)并且你需要额外的分辨率时,只需要显示catiledlayered视图,这样它就会加载瓦片,同时在未加载的瓦片上显示lowres (和像素化)。
发布于 2012-04-18 08:47:40
苹果的PhotoScroller和ScrollViewSuite示例展示了如何做到这一点,甚至更多。
还有一个2010年的WWDC视频,标题为“使用滚动视图设计应用程序”,解释了PhotoScroller。
https://stackoverflow.com/questions/8996268
复制相似问题