【发布时间】:2021-12-13 02:45:05
【问题描述】:
我的水平集合视图(仅当它有 0 个单元格时)在尝试刷新父视图时会导致崩溃。当集合视图有 0 个项目(即“shownStations”)时,集合视图被隐藏。刷新父视图时,会进行 API 调用以获取集合视图的任何可用项。似乎与错误消息相关的集合视图的代码(如下)如下:
if self.shownStations.isEmpty {
self.stationCollectionView?.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
} else {
self.stationCollectionView?.frame = CGRect(x: 0, y: 0, width: 414, height: 150)
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
if !self.hiddenStations.isEmpty {
return shownStations.count + 1
} else {
return shownStations.count
}
}
错误信息:
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“当第 0 节中只有 0 个项目时,尝试将集合视图滚动到越界项目 (0)。集合视图:<0x7fc5b101f800 clipstobounds="YES;自动调整大小" rm>
标签: swift xcode uicollectionview