如何解决UICollectionView不能下拉刷新问题

简介: 如何解决UICollectionView不能下拉刷新问题

最近遇到UICollectionView显示的所有单元格的高度总和不超过屏幕高度,结果遇到无法下拉刷新,监控不到滚动时间就是把滚动条设置上去也没有任何效果。使用UITableView显示数据下拉刷新正常。

后来找度娘和查看UICollectionView的接口文档。发现UICollectionView默认的alwaysBounceVertical属性是NO,当该属性为NO时,显示的单元格总高度和分区头尾高度的和小于表格的高度时,禁止UICollectionView上下滑动。

我设置_collectionView.alwaysBounceVertical = YES;后终于可以触发下拉刷新组件进行下拉刷新了。


@property(nonatomic) BOOL bounces; // default YES. if YES, bounces past edge of content and back again

@property(nonatomic) BOOL alwaysBounceVertical; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically

@property(nonatomic) BOOL alwaysBounceHorizontal; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally

用来控制滚动视图是否反弹,bounces默认是YES,当它为NO的时候,其他两个属性值设置无效,滚动视图无法反弹;只有当bounces是YES的时候,其他两个属性设置才有效,alwaysBounceVertical设置垂直方向的反弹是否有效,alwaysBounceHorizontal设置水平方向的反弹是否有效;

UITableView默认情况下alwaysBounceVertical是YES,alwaysBounceHorizontal是NO;

UIScrollView和UICollectionView默认情况下alwaysBounceVertical和alwaysBounceHorizontal都是NO;只有当内容视图的尺寸超过了自己的bounds的尺寸的时候,相应方向上反弹属性才会自动设置为YES;

简言之,UITableView和UIScrollView、UICollectionView的alwaysBounceVertical默认属性相反。


因此,在编程中,实现滚动视图的下拉和上拉刷新的时候,就要相应的打开alwaysBounceVertical属性,才能实现下拉和上拉功能;例如UICollectionView页面只有一条数据的时候,内容视图没用占据到UICollectionView的整个bounds,当前就无法滚动,这个时候就要设置alwaysBounceVertical为YES,才能在垂直方向实现反弹进而实现上下拉刷新功能。


注意:你计算的单元格总高度计算如果计算的比实际表格小一些(小一个像素也可以),你设置alwaysBounceVertical属性为NO,也能下拉刷新。若你的数据不显示满屏,不想触发下拉刷,一定要设置的表格高度不能比单元格的总高度小。


目录
相关文章
|
iOS开发
iOS开发 - 让tableView不能下拉刷新,可以上拉加载
iOS开发 - 让tableView不能下拉刷新,可以上拉加载
312 0
|
iOS开发
iOS 开发 - tableView内嵌scrollView时,在plus上滑动scrollView时和tableView有冲突
iOS 开发 - tableView内嵌scrollView时,在plus上滑动scrollView时和tableView有冲突
167 0
|
iOS开发
iOS UITableViewCell嵌套CollectionView,tableview和collectionview同时滑动bug修复
iOS UITableViewCell嵌套CollectionView,tableview和collectionview同时滑动bug修复
980 0
|
iOS开发
iOS ScrollView嵌套tableview左右滑动时禁止上下滑动
iOS ScrollView嵌套tableview左右滑动时禁止上下滑动
1998 0
|
iOS开发
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView(一)
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView
292 0
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView(一)
|
iOS开发
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView(二)
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView
363 0
|
iOS开发
iOS开发实战 - 完美解决UIScrollView嵌套滑动手势冲突
我们应该都有用过这个功能,你的朋友微信给你分享了一个淘宝里面的商品链接,然后当你复制这个链接打开淘宝APP的时候,就会弹出一个弹窗,像这样: example.PNG 这个功能想必大家都挺熟悉,受这个启发我们产品也想在我们APP上添加这样一个功能,与这个不一样的是,当我们复制一段网址的时候打开我们的APP会弹出框填一些信息后上传到我们的“资源库”。
4307 0