在不丢失细节的情况下缩放UIView

假设我有一个复杂的UIView ,最初在屏幕上显示的帧非常小,比如80x80。

其子视图之一是显示实际分辨率为1024x1024的图像的UIImageView

当用户点击UIView我希望视图几乎全屏放大,以便用户可以更好地看到图像。

我已经知道如何缩放UIView来放大,我的问题如下。

在没有对图像进行像素化的情况下放大此视图的最佳方式是什么?

我想到了这些选择:

  • 我实际上可以将UIView的框架设置为全屏尺寸,并且通常将其缩小,所以我确信当它放大时,它将会非常详细。 无论如何,这个解决方案都有一个强大的性能问题,导致许多缩小的视图移动,将会对CPU / GPU造成相当大的冲击。

  • 正如我所描述的那样,我可以做到这一点,如此小的框架和> 1的缩放比例,但在这种情况下,图像将显示没有像素化?

  • 我实际上可以设置框架重新显示大/小尺寸的视图。 在这种情况下,细节会很好,但是我也有一个性能问题,因为我的UIView有大约15个子视图需要复杂的计算来重新布局,所以设置帧并不是那么“快”。

  • 哪个是最好的解决方案? 或者有谁有其他更好的解决方案?


    为什么不只是缩略图表示是80x80 ,当用户点击任何缩略图时,您new view使用+transitionFromView:toView:duration:options:completion:方法简单地从包含所有缩略图的当前视图切换到new view 。将全分辨率图像加载到新视图中显示UIImageView :)

    链接地址: http://www.djcxy.com/p/82005.html

    上一篇: Zooming an UIView without losing detail

    下一篇: iOS UIScrollView size child view only once