首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空UICollectionView

空UICollectionView
EN

Stack Overflow用户
提问于 2013-09-25 21:00:30
回答 2查看 4.6K关注 0票数 3

我有一个UICollectionView,显示特定城市的商店。一个特定的城市可能根本没有任何商店,所以在这种情况下,我应该更新UICollectionView为空。当我将nil作为数据参数时,应用程序会崩溃,表示数据参数不能为零。

我如何才能清空UICollectionView?在这种情况下,除了不显示任何单元格外,我还想显示一个背景图像,告知用户没有存储,或者将collectionView全部删除。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-25 21:06:08

我想你有一个数据数组来创建你的细胞。

可以在集合视图的上方添加标签,如果有单元格,则隐藏此标签;如果没有单元格,则显示此标签。

因此,在计算数组时,添加一个测试:

代码语言:javascript
复制
self.myLabel.hidden = (_data.count > 0);

并且有这样的方法返回单元格数(如果没有数据,则_data.count=0)。

代码语言:javascript
复制
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return _data.count;
}
票数 6
EN

Stack Overflow用户

发布于 2017-04-27 08:30:33

我个人会使用另一种适当的解决方案,您可以创建自己的自定义视图并在UICollectionViw的背景视图中加载此视图,如下所示:

代码语言:javascript
复制
collectionView?.backgroundView = yourCustomView

这将为用户包含一个适当的消息,即在该位置没有商店。显然,您必须根据viewWillAppear上的数据计数隐藏或显示它,如下所示:

代码语言:javascript
复制
collectionView?.backgroundView.isHidden = _data.count == 0

或者像这样:

代码语言:javascript
复制
collectionView?.backgroundView = UIView(frame: CGRect.zero)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19015129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档