我在UIImageView
中使用了UITableViewCell
,它将填充contentView。我尝试了不同的模式,例如“Scale To Fill”,“Aspect Fit”,“”Aspect Fill“来handell UIImageView在UITableViewCell里面.UITableViewCell里面的UIImageView在Aspect Fill的屏幕上运行。我为图像设置了约束,如下所示
它可以正常工作
但是当图像尺寸太大时,它会显示下面的问题 走出细胞边界
我使用了
Aspect Fill
,如下图所示
当我使用
Aspect Fit
时,我遇到了这个问题
当我使用
Scale To Fill
时,我遇到了这个问题
在
Aspect Fit
和Scale To Fill
中,我左右边距为 如上所示以下链接无法解决我的问题所以它不重复
UIImageView inside UITableViewCell does not get updated
Resizing UIImageView inside a UITableViewCell
iOS 8 - AutoLayout issue - UIImageView inside UITableViewCell ignoring width constraints
答案 0 :(得分:4)
您的表格视图单元格上有一个名为Clip subviews
的选项。检查它是否已激活,它应该是好的。
答案 1 :(得分:2)
根据您的描述您的约束都设置正确。
Aspect Fill将通过保持图像的宽高比来绘制整个imageView内部。如果图像大于imageView的尺寸,则图像溢出。在这种情况下,您需要激活"剪辑子视图" imageView的属性检查器中的选项。
转到storyboard / xib中单元格的imageView属性检查器。根据"绘图"部分选择"剪辑子视图"是的。
这将使superView剪辑成为其子视图。在你的情况下,cell的contentView是superView,imageView是子视图。
答案 2 :(得分:1)
您需要为imageview,cell的contentview和cell启用剪辑子视图属性。还有一件事,我在添加约束时看到了这一点,你添加了带约束的约束。所以,删除旧的约束并再次添加新的约束,禁用约束到边缘。
如果有帮助,请告诉我。 :)
答案 3 :(得分:0)
我猜单元格中没有问题,它在Tableview中 将约束设置为使用此单元格的 Tableview 它会起作用。
答案 4 :(得分:0)
设置UIImageView的宽度和高度限制
删除其他约束并将以下约束设置为imageview ...!
UIImageView --> Editor --> Pin --> Width
UIImageView --> Editor --> Pin --> Height
参见
希望它解决问题..!