我有一个UICollectionView,显示特定城市的商店。一个特定的城市可能根本没有任何商店,所以在这种情况下,我应该更新UICollectionView为空。当我将nil作为数据参数时,应用程序会崩溃,表示数据参数不能为零。
我如何才能清空UICollectionView?在这种情况下,除了不显示任何单元格外,我还想显示一个背景图像,告知用户没有存储,或者将collectionView全部删除。
有什么想法吗?
发布于 2013-09-25 21:06:08
我想你有一个数据数组来创建你的细胞。
可以在集合视图的上方添加标签,如果有单元格,则隐藏此标签;如果没有单元格,则显示此标签。
因此,在计算数组时,添加一个测试:
self.myLabel.hidden = (_data.count > 0);并且有这样的方法返回单元格数(如果没有数据,则_data.count=0)。
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return _data.count;
}发布于 2017-04-27 08:30:33
我个人会使用另一种适当的解决方案,您可以创建自己的自定义视图并在UICollectionViw的背景视图中加载此视图,如下所示:
collectionView?.backgroundView = yourCustomView这将为用户包含一个适当的消息,即在该位置没有商店。显然,您必须根据viewWillAppear上的数据计数隐藏或显示它,如下所示:
collectionView?.backgroundView.isHidden = _data.count == 0或者像这样:
collectionView?.backgroundView = UIView(frame: CGRect.zero)https://stackoverflow.com/questions/19015129
复制相似问题