ios - swift:CollectionView 单元格大小

标签 ios swift uicollectionview

我有 collectionView 对 superview 的约束。我想获得 iPhone X 的结果:

enter image description here

但是我明白了:

enter image description here

如何解决?

代码:

func numberOfSections(in collectionView: UICollectionView) -> Int {
        return 4
    }

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 3
    }

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {


        cellOffset = 10

        cellWidth = (667 / 3)  - (cellOffset * 4)
        cellHeight =  (cellWidth / 2 * 3) + (cellWidth / 2 * 0.65)

        return CGSize(width: cellWidth, height: cellHeight)
    }

更新

enter image description here

更新

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {

        let sectionInset = collectionView.frame.width / 3.0
        let margins = CGFloat(10.0 * 2.0)
        let width = (collectionView.frame.width - sectionInset - margins) / 3.0
        let height = collectionView.frame.height - 40.0

        let collectionViewLayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout
        collectionViewLayout?.sectionInset = UIEdgeInsets(top: 0, left: 6.0, bottom: 0, right: 6.0)
        collectionViewLayout?.minimumInteritemSpacing = 10
        collectionViewLayout?.invalidateLayout()

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

结果:

enter image description here

最佳答案

如果你想要横向的 3 个单元格

let cellWidth = ( self.collectionView.frame.width - 2 * cellOffset ) / 3

关于ios - swift:CollectionView 单元格大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51330699/

相关文章:

ios - 推送通知 : Associating a device token with a device

swift - 如何将 UIActivityIndi​​catorView 添加到 UICollectionView 的页脚?

iphone - 如何使用 nsxmlparser

javascript - 'expo' 不被识别为内部或外部命令

ios - 慢慢地推ViewController

ios - 如何包含 firebase 快照键值? [ swift ]

Swift - 当框架/模块具有相同名称的类时不能使用命名空间

swift - UITapGestureRecognizer 不改变 CollectionViewCell 的内容。 swift

ios - Swift中UICollectionView如何提高获取照片缩略图并显示的效率

ios - 使用 expect 在 bash 中通过 SCP 更新 IOS