Mac Catalyst UICollectionViewCompositionalLayout错误

时间:2019-10-21 07:18:43

标签: ios uicollectionview uikit maccatalyst

我有以下UICollectionViewCompositionalLayout

public lazy var layout: UICollectionViewLayout = {
    let layout = UICollectionViewCompositionalLayout {
        (sectionIndex: Int, layoutEnvironment: NSCollectionLayoutEnvironment) -> NSCollectionLayoutSection? in
        let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),
                                             heightDimension: .fractionalHeight(1.0))
        let item = NSCollectionLayoutItem(layoutSize: itemSize)

        let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),
                                              heightDimension: .absolute(115))

        var count: Int = 2
        if self.view.traitCollection.horizontalSizeClass != .compact {
            if self.view.frame.size.width > 900 {
                count = 5
            } else {
                count = 3
            }
        }

        let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitem: item, count: count)
        let spacing = CGFloat(10)
        group.interItemSpacing = .fixed(spacing)

        let section = NSCollectionLayoutSection(group: group)
        section.interGroupSpacing = spacing
        section.contentInsets = NSDirectionalEdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0)
        return section
    }
    return layout
}()

当我在iOS上运行此程序时,效果很好,但是当我使用Catalyst在Mac上运行此程序时,它将引发以下错误:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Cannot solve for a non-group item.'

关于如何解决此问题的任何想法?

0 个答案:

没有答案
相关问题