Ios Swift:UICollectionView单元格在实现sizeForItemAtIndexPath时无法更新帧
当我实现以下代码时:Ios Swift:UICollectionView单元格在实现sizeForItemAtIndexPath时无法更新帧,ios,swift3,uicollectionview,uicollectionviewcell,Ios,Swift3,Uicollectionview,Uicollectionviewcell,当我实现以下代码时: func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{ let cellW = (ScreenWidth - 10 - 10 - 30) / 4 return CGSize(width: cell
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{
let cellW = (ScreenWidth - 10 - 10 - 30) / 4
return CGSize(width: cellW, height: cellW * 1.5 )
}
通过使用sizeForItemAt方法,我可以画出我想要的框架,但我的自定义collectionview单元格无法更新为wise,我错过了什么,请帮助我
我用这个参考来修正它
感谢各位,首先我的Cell.imageview仍有问题,无法按我的要求塑造圆形,我为imageview创建了一个类,如下所示:
class CellImageView: UIImageView {
override func layoutSubviews() {
super.layoutSubviews()
let radius: CGFloat = self.bounds.size.width / 2.0
self.layer.cornerRadius = radius
self.clipsToBounds = true
}
在iOS 13中,任何东西都能完美地工作,我首先将
estimatedItemSize
设置为.zero
并设置itemSize
等
if let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
layout.estimatedItemSize = .zero
layout.itemSize = CGSize(width: collectionView.frame.size.width, height: 80)
}
是否将图像的约束添加到superView的前导/尾随/顶部?为底部视图添加缺少的约束?我确实为我的imageview和label添加了约束,这似乎是collectionview单元格的问题,也许我在awakefromNib中缺少了什么?这是我的故事板collectionview单元格框架您是否编写了在类声明中实现UICollectionViewDelegateFlowLayout的命令?是的,我实现了UICollectionViewDelegateFlowLayout委托,以便我可以绘制区域(请参见调试视图中的:)