我的应用程序中有一个UICollectionView,用户可以显示所选项目。单击指定的UICollectionViewCell后,我显示UIAlertView,用户可以在其中设置一些值。单击UIAlertView的OK按钮后,UICollectionView中的所选项目将使用deleteItemAtIndexPaths:方法删除。我想要做的就是在删除所有UICollectionViewCells之后,使用方法setHidden:设置UICollectionView的可见性,但我不知道在哪里放置我的if语句来检查我的collectionview是否为空。请帮忙。 问候
答案 0 :(得分:0)
numberOfItemsInSection:
和numberOfSections
检查每个部分,看看此方法是否返回0.例如:
// Assume empty
BOOL isEmpty = YES;
for (int i = 0; i < collectionView.numberOfSections; i++) {
// Check all sections, if one contains any items, set to NO and break out of loop, we don't need to check anymore
if ([collectionView numberOfItemsInSection:i] != 0) {
isEmpty = NO;
break;
}
}
或者,更明显的是,直接访问为UICollectionView
(数据源本身)供电的任何内容,并查看它是否为空。我假设您使用的是NSArray
或NSDictionary
,因此请检查它们的数量,这是一个更快的解决方案,但这取决于您应用的结构。