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

时间:2014-02-10 06:57:09

标签: ios uiview

假设我有一个复杂的UIView,它最初在屏幕上的帧很小,比方说80x80。

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

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

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

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

我想到了这些选择:

  1. 我实际上可以将UIView的帧设置为全屏尺寸,并且通常将其缩小,所以我确信当它放大时,它将非常详细。无论如何,这个解决方案有一个强大的性能问题,因为在这些缩小的视图中移动很多,将会对CPU / GPU产生相当大的影响。

  2. 我可以像我描述的那样做,所以小框架和比例> 1放大,但在这种情况下,图像是否会显示而没有像素化?

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

  4. 哪种解决方案最好?或者有人有其他更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

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