ios - 具有动态高度和半宽的 UICollectionview 单元格

标签 ios swift collectionview

我正在尝试根据给定文本创建具有半宽和动态高度的 Collection View ( Expected View)。

我正在尝试通过(ViewController 中的代码)实现此目的

    let flowLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
    flowLayout.estimatedItemSize = CGSize(width: (UIScreen.main.bounds.width / 2), height: 2000.0)
    flowLayout.itemSize = UICollectionViewFlowLayout.automaticSize

和(UICollectionviewCell 中的代码)

override func preferredLayoutAttributesFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes {
    setNeedsLayout()
    layoutIfNeeded()
    let size = contentView.systemLayoutSizeFitting(layoutAttributes.size)
    var frame = layoutAttributes.frame
    frame.size.height = ceil(size.height)
    layoutAttributes.frame = frame
    return layoutAttributes 
}

通过上面的代码,我可以实现创建collectionview Actual view (半宽和动态高度)。但是 Collection View 单元格的高度不等于相邻的。实际上,此 Collection View 单元格高度应与相邻单元格高度(具有最大高度)相同。如何根据相邻单元格大小更新单元格大小?

提前致谢

最佳答案

使用 UICollectionViewDelegateFlowLayout

  func collectionView(_ collectionView: UICollectionView, layout 
collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: 
IndexPath) -> CGSize 
{
//let padding: CGFloat =  5
    let collectionViewSize = collectionView.frame.size.width / 2
    return CGSize(width: collectionViewSize , height: 2000 )
}

关于ios - 具有动态高度和半宽的 UICollectionview 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58819222/

相关文章:

wpf - GroupStyles 是如何工作的?

ios - 有没有办法在 iBook 小部件中捕获 "closing"事件?

iOS Tabbar - 更改为第一个选项卡和第一个 ViewController

ios - 如何在 Swift 中计算给定 AVURLAsset 中音频/字幕轨道的数量?

ios - 查找容器单元格的索引

ios - 通过 kind 切换 Collectionviews 页眉/页脚

ios - 使用 NSPredicate 选择任一输出

iphone - 如何将多个自定义 View Controller 与导航 Controller 一起使用?

ios - 通知触发错误。 swift

ios - 如何防止 iOS 在从后台返回后调整 UIViewController View 的大小