繁体   English   中英

Swift CollectionView 在 imageview 位于内部时更改大小

[英]Swift CollectionView changes size when imageview is inside

我创建了一个 CollectionView,每行包含三个项目。 如果我的单元格只包含一个视图,它的工作非常好,如图所示:

这里的节目应该是

但是,如果我在视图中添加一个 Imageview 并具有相同的约束,它将看起来像这样:

带有 imageview 的集合视图单元格

这是我的 CollectionView 的代码:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
    return UIEdgeInsets.zero
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 0
}     

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let yourWidth = collectionView.bounds.width/3.0
    let yourHeight = yourWidth

    return CGSize(width: yourWidth, height: yourHeight)
}

好像您正在使用UICollectionViewFlowLayout

这不是错误或意外行为。 如果单元格的contentView边缘有某些限制,则布局将调整单元格的大小以适应内容。 不是将图像限制在前导/尾随和顶部/底部锚点,而是将其中心限制在单元格的中心,这样就不会影响单元格的大小。 您可以按原样保留collectionView(_:layout:sizeForItemAt:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM