自定义cell中的图片的约束应该如何定义

andy_sheng
  • 9

我需要在一个宽600的cell中放一张图片,我设置图片的高是cell的宽的155/600(在xib里宽高是115),图片的宽等于图片的高。我期望的是图片的大小能够跟着cell的宽度而变化,但是运行之后发现图片的大小是可以跟着cell的宽变化,但是cell的高却是按照图片缩小前的高(115)算出来的。然后就导致cell下面空了一片。
图片描述

图片描述

图片描述

图片描述

回复
阅读 4.5k
1 个回答
li21
  • 3.1k

Update

从后来上传的图片上,并没看出“导致cell下面空了一片”是怎么一回事。
根据你的需求:cell中放一张图片,图片的大小能够跟着cell的宽度而变化,图片的宽等于图片的高。
我做了如下配置:
ImageView宽高比1:1;ImageView在Cell中水平居中、垂直居中;ImageView与Cell宽度比0.8;View Mode为Aspect Fit(不然图片就变形了,也可以选其它的,你可以改变这个参数查看效果)

clipboard.png

下图是在Storyboard中修改cell的宽度后的效果,左边宽200,右边宽100,高都是100:
clipboard.png

不知道是否满足你的需求。。。
测试基于工程https://github.com/fahadahmed/RecipePhoto,在此基础上修改为上述的配置。

Old Answer

如果你是把图片放在UIImageView中,并且设置了Aspect Ratio Constraint: ImageView.Width=ImageView.Height

图片描述
然后还设置了ImageView的高度和Cell宽度的比例,那么,Cell宽度发生变化,整个ImageView的宽、高都会变的。

所以图片高度不可能是不变的,你再检查下配置吧

然后再考虑下View Mode,以决定是按比例缩放,还是填满整个view......
图片描述

宣传栏