ios - 缩放 UIView 而不会丢失细节

标签 ios uiview

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

它的一个 subview 是 UIImageView,它显示一个实际分辨率为 1024x1024 的图像。

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

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

在不像素化图像的情况下放大此 View 的最佳方式是什么?

我想到了这些选项:

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

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

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

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

最佳答案

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

关于ios - 缩放 UIView 而不会丢失细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21670817/

相关文章:

ios - 创建PhoneGap 3.0.0自定义iOS插件时出错

xcode - UIView 垂直翻转

ios - 不闪烁地重新加载 UITableView 标题 View

iphone - 点击时隐藏导航栏

ios - 自 Xcode 7 以来的 Xcode 控制台警告

iphone - 自定义 uibarbuttonitem 图像与背景混合

ios - 如何仅在 Debug模式下启用3D触摸(静态快速操作)?

iphone - 使用 transitionFromView 和 transitionWithView 的过渡行为

uiview - ios 7 UiView框架问题

swift - 如何在 Swift 中获取 UIView 中所有 subview 的高度?