如何使用AspectFit缩放模式正确检测UIImageView上的水龙头

时间:2016-04-06 11:24:37

标签: ios uiimageview autolayout interface-builder

我的布局如下。视图内部的图像视图需要一半的视图控制器(白色一个)。考虑到顶部和底部的一些边距,图像视图填充容器。我在图像视图上设置了缩放模式以适应宽高比。所有这些都给了我想要的确切视觉效果。

enter image description here

然而,我还在图像视图上安装了手势识别器,我希望它仅在显示实际图像的区域上检测点击(由于方面适合,它只占用可用空间的一部分)。图像本身将动态变化,以便我不知道它将具有什么样的宽高比。实现这一目标的最简单方法是什么?

我想我必须摆脱图像视图中的traililnig和主要约束,但接下来呢?

2 个答案:

答案 0 :(得分:0)

设置UIImage的{​​{1}}后,根据图片更新UIImageView frame

How to make UIImageView automatically resize to the size of the image loaded

检查以上链接。

答案 1 :(得分:0)

首先,找到图像的大小,然后更新ImageView的帧。根据图像大小和要求设置x和y位置。

UIImageView *myImageView = [[UIImageView alloc]init];
UIImage *img = [UIImage imageNamed:@"draft"];

CGSize mySize = [img size];

CGRect newFrame=CGRectMake(0, 0, mySize.width, mySize.height);
NSLog(@"height  : %f  width : %f",mySize.height,mySize.width);

myImageView.frame = newFrame;
myImageView.image = img;