美文网首页
关于UICollectionView实现单选或是多选

关于UICollectionView实现单选或是多选

作者: ____猜 | 来源:发表于2017-11-17 15:57 被阅读0次

    相信很多做iOS开发的同行,在项目中都会遇到很多列表,需要实现单选或者多选的场景。基于此,我想把自己在使用UICollectionView实现单选或者多选时采用的方案,分享给出来,仅供大家在开发时的参考。

    UICollectionView是一个定制性很强的视图。用它可以实现很多炫酷的图片展示,列表选择,所以很多的iOS开发项目都会用到。笔者在以往的开发项目中就遇到需要实现单选和多项的需求,一开始,我也和大部分开发者一样,在控制器中创建一个容器,用来记录自己选择cell的indexPath,后来查看UICollectionView的属性时,发现UICollectionView是可以帮我们记录选中cell的indexPath,但是当遇到需要修改cell 的UI时,又遇到了问题,不知道怎么告知cell是选中还是取消选中,最后发现自己出发点错误了,cell的选中与否不应该从UICollectionView中寻找答案,而是在cell本身上寻找答案。好了, 废话也不多说,既然,我们要实现单选和多选的功能,这里就需要介绍UICollectionView的三个属性:

    @property (nonatomic) BOOL allowsSelection; // default is YES

    @property (nonatomic) BOOL allowsMultipleSelection; // default is NO

    @property (nonatomic, readonly, nullable) NSArray*indexPathsForSelectedItems;

    以及UICollectionViewCell的一个属性:

    @property (nonatomic, getter=isSelected) BOOL selected;

    UICollectionView的三个属性,用来帮我记录选择的UICollectionViewCell,而UICollectionViewCell的一个属性,用来帮我修改Cell的UI界面。

    附上GitHub地址:github.com/Cool-plume-HL/UICollectionView.git

    总的来说,这个还是比较简单。

    相关文章

      网友评论

          本文标题:关于UICollectionView实现单选或是多选

          本文链接:https://www.haomeiwen.com/subject/xukjvxtx.html