Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-从UIImageView获取UIImage可见部分的帧_Ios_Uiimageview_Uiimage_Transition_Cgrect - Fatal编程技术网

iOS-从UIImageView获取UIImage可见部分的帧

iOS-从UIImageView获取UIImage可见部分的帧,ios,uiimageview,uiimage,transition,cgrect,Ios,Uiimageview,Uiimage,Transition,Cgrect,我正在尝试像应用程序Tinder那样进行转换。 详情: 在屏幕一中,有一个垂直矩形UIImaveView,contentMode=纵横比填充,因此它隐藏了图像的一部分,仅显示纵横比 在屏幕2(细节屏幕)中,必须传递转换后的相同图像,但第二个屏幕中的ImageView为正方形 我想做一个变形类型的转换,在这个转换中,用户应该认为第一屏的相同图像视图在第二屏变成正方形,而不拉伸图像。那么我应该怎么做呢 目前,我正在尝试获取UIImageView可见区域中的UIImage帧,以便我可以做一些逻辑工

我正在尝试像应用程序Tinder那样进行转换。 详情:

  • 在屏幕一中,有一个垂直矩形UIImaveView,contentMode=纵横比填充,因此它隐藏了图像的一部分,仅显示纵横比

  • 在屏幕2(细节屏幕)中,必须传递转换后的相同图像,但第二个屏幕中的ImageView为正方形

    我想做一个变形类型的转换,在这个转换中,用户应该认为第一屏的相同图像视图在第二屏变成正方形,而不拉伸图像。那么我应该怎么做呢

  • 目前,我正在尝试获取UIImageView可见区域中的UIImage帧,以便我可以做一些逻辑工作来实现这一点。但谁能帮我得到图像可见部分的框架呢

    编辑

    请查看附件中的图片以便理解
    我认为这个问题有点模棱两可:框架必须在坐标系中指定。但我想你是在寻找一个相对于原始未剪辑图像的矩形

    如果这是正确的,那么rect可以如下计算。假设图像名为
    image
    ,图像视图名为
    imageView
    。rect的大小是图像视图的大小:

    imageView.bounds.size
    
    而且,由于纵横比填充将使尺寸过大的尺寸居中,因此其原点为:

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

    我想这个链接会帮助你,谢谢你的回复。但我检查了这张照片的放大效果。应用纵横比填充后,我发现框架在UIImageView中可见。表示从100x160开始,如果UIImageView中的可见区域为100x120,则应返回100x120。从这个图像被锚定的地方。我们可以得到锚定点,但找到UIImageView中可见的矩形(帧)的解决方案您是如何解决这个问题的?