我正在尝试在NSCollectionView中显示256个单元格。我正在使用Storyboard,但NSCollectionViewItem位于单独的xib中。它在启动时在CollectionView中注册。 DataSource对象包含一个数组(NSMutableArray),其数字在由makeItemWithIdentifier(...)函数提供时将加载到NSCollectionViewItem的representObject中。
func collectionView(collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return dataArray.count
}
func collectionView(collectionView: NSCollectionView, itemForRepresentedObjectAtIndexPath indexPath: NSIndexPath) -> NSCollectionViewItem {
let item = collectionView.makeItemWithIdentifier("CellItem", forIndexPath: indexPath) as! CellCollectionViewItem
item.representedObject = dataArray[indexPath.indexAtPosition(1)]
item.index = indexPath.indexAtPosition(1)
item.dataSource = self
return item
}
当应该仅显示(确切地)单元格时,将呈现100个单元格而不是全部256个单元格。数据阵列在任何时候都不会包含100个项目。此外,我的调试输出显示实际上生成了所有NSCollectionViewItems。这意味着问题必须在于渲染集合视图。 NSCollectionView可以立即呈现的项目数量是否有限制?我错过了什么?
当用户缓慢调整窗口大小时,剩余的单元格会出现,如果用户快速调整窗口大小,则会再次消失。视图是否在固定的时间后停止渲染?