【问题标题】:iOS - Get framing of Visible part of UIImage from UIImageViewiOS - 从 UIImageView 获取 UIImage 的可见部分的框架
【发布时间】:2014-05-08 18:54:04
【问题描述】:

我正在尝试像 APP Tinder 那样进行过渡。 详情:

  1. 在第一个屏幕中,有一个垂直矩形 UIImaveView,其 contentMode = Aspect Fill,因此它隐藏了部分图像以调整纵横比。

  2. 在第二屏(Detail Screen)中,必须通过转换后的相同图像,但第二屏中的 ImageView 是 Square One。

    我想制作一种变形类型的过渡,其中用户应该认为屏幕一中的相同 ImageView 在第二个中变成正方形,而不会拉伸图像。那么我该怎么办?

目前我正在尝试获取 UIImageView 可见区域中的 UIImage 框架,以便我可以做一些逻辑的事情来实现这一点。但谁能帮我获取 UIImage 可见部分的框架。

编辑

请看附图理解

【问题讨论】:

  • 我认为这个链接会帮助你stackoverflow.com/questions/11120814/…
  • 感谢您的回复。但我检查了它的缩放。应用 Aspect Fill 后,我发现 UIImageView 中可见的框架。表示从 100x160 开始,如果 UIImageView 中的可见区域为 100x120,那么它应该返回 100x120。以及从哪里锚定该图像。好吧,我们能够获得锚点,但找到了 UIImageView 中可见的 Rect(frame) 的解决方案
  • 你是怎么解决这个问题的?

标签: ios uiimageview uiimage transition cgrect


【解决方案1】:

我认为这个问题有点含糊:必须在坐标系中指定框架。但我认为您正在寻找相对于原始未剪辑图像的矩形。

如果正确,则可以按如下方式计算矩形。假设图像名为image,图像视图为imageView。 rect的大小就是image view的大小:

imageView.bounds.size

而且,由于方面填充将使超大尺寸居中,它的原点是:

CGPointMake((image.size.width - imageView.bounds.size.width) / 2.0, 0.0);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    相关资源
    最近更新 更多