【问题标题】:Present and zoom large images on iOS without CATiledLayer在没有 CATiledLayer 的情况下在 iOS 上呈现和缩放大图像
【发布时间】:2012-01-25 00:17:25
【问题描述】:

我想展示并允许用户在 iPhone 和 iPad 上缩放大图像,就像照片应用的工作方式一样。

我意识到 CATiledLayer 是用于此的 goto 类,但它使用的美学不适用于我的应用程序。它一个接一个地渲染图块,而照片应用程序一次渲染整个屏幕(并在缩放期间和之后显示像素化版本,直到应用程序赶上来)。

我当然可以实现一个在每次缩放后在背景中呈现图像的视图。但是,一旦源图像变大,这将使应用程序崩溃。所以平铺很吸引人,我宁愿在所有平铺都准备好之前不更新屏幕(同时显示较低分辨率的图像)。

有没有人尝试过实现这样的东西?有什么想法吗?

【问题讨论】:

    标签: iphone ios ipad catiledlayer


    【解决方案1】:

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

    还有一个 2010 年 WWDC 视频,标题为“使用滚动视图设计应用程序”,它解释了 PhotoScroller。

    【讨论】:

      【解决方案2】:

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

      因此,在缩放时(您需要对两个视图都应用缩放)并且您需要额外的分辨率,只需显示 catiledlayered 视图,这样它就会加载图块,同时在未加载的图块上显示低分辨率(和像素化)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-18
        • 2022-11-11
        • 2011-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-03
        • 1970-01-01
        相关资源
        最近更新 更多