无效的绝对尺寸:inf。尺寸必须是有限值

问题描述 投票:0回答:1

嗨,我尝试使用组合布局,而使用舞台管理器时,应用程序很少崩溃。请参考下面的错误信息

由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'无效的绝对值 尺寸:inf.尺寸必须是有限值。'

代码

let itemSize = NSCollectionLayoutSize(widthDimension: .absolute(cellWidth),heightDimension: .absolute(cellHeight))
            let item = NSCollectionLayoutItem(layoutSize: itemSize)
            
            let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .absolute(cellHeight))
            let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item])
            group.interItemSpacing = NSCollectionLayoutSpacing.fixed(cellSpacing)
            
            let section = NSCollectionLayoutSection(group: group)
            section.contentInsets = NSDirectionalEdgeInsets(top: 10,leading: inset, bottom: 0,trailing:inset)
            section.interGroupSpacing = lineSpacing
swift uikit uicollectionviewlayout uicollectionviewcompositionallayout
1个回答
0
投票
let itemSize = NSCollectionLayoutSize(widthDimension: .absolute(cellWidth),heightDimension: .absolute(cellHeight))

如果该行由于无限参数而产生异常,则可能是由于在计算

cellWidth
cellHeight
时除以零而发生的情况。我可以假设您正在按元素数量或类似的数量来划分集合组件的总宽度。通过为此边缘情况添加安全检查来避免被零除的问题。

© www.soinside.com 2019 - 2024. All rights reserved.