Ios 集合视图单元格中添加的图像视图不';不要应用附加的约束

Ios 集合视图单元格中添加的图像视图不';不要应用附加的约束,ios,uiimageview,autolayout,uicollectionview,uicollectionviewcell,Ios,Uiimageview,Autolayout,Uicollectionview,Uicollectionviewcell,我已经在UICollectionViewCell中添加了一个图像,并添加了如下图所示的约束 约束条件: cell.imageView.frame = cell.bounds ImageView的宽度=单元格的宽度 ImageView的高度=单元格的高度 在容器(单元格)中垂直对齐ImageView 在容器(单元格)中水平对齐ImageView 我正在使用UICollectionViewDelegate方法在运行时确定单元格大小 func collectionView(collection

我已经在
UICollectionViewCell
中添加了一个图像,并添加了如下图所示的约束

约束条件:

cell.imageView.frame = cell.bounds
  • ImageView的宽度=单元格的宽度
  • ImageView的高度=单元格的高度
  • 在容器(单元格)中垂直对齐ImageView
  • 在容器(单元格)中水平对齐ImageView
我正在使用
UICollectionViewDelegate
方法在运行时确定单元格大小

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
    // calculating cell size and returning it
}
问题:

cell.imageView.frame = cell.bounds
cellForItemAtIndexPath
方法中,当我检查单元格大小和图像视图大小时,它们都有不同的值。 单元格{w:82.0,h:145.77},图像视图{w:380.0,h:170}。图像的帧大小与我在故事板上设置的帧大小相同。它不是根据约束进行调整。 我是否可以确保它与我的手机大小相同

当前修复:(?)

cell.imageView.frame = cell.bounds

但这没有任何意义。为什么我需要明确设置尺寸,为什么不应用约束?

请检查Marius Soutier的回答:

他回答下面的评论可能就是你想要的解决方案


基本上,在从
sizeFormiteIndepath:
返回
CGSize
之前,您必须调用
reloadData
,检查Marius Soutier的回答:

他回答下面的评论可能就是你想要的解决方案


基本上,在从
sizeFormiteIndeXPath:

返回
CGSize
之前,必须调用
reloadData
,否则该链接没有帮助。正如我在问题中所说,我得到了正确的单元格大小,UIImageView出现了问题(它不应用添加的自动布局约束)。不,该链接没有帮助。正如我在问题中所说,我得到了正确的单元格大小,UIImageView出现了问题(它不应用添加的自动布局约束)。