Vaz*_*zyb 5 uikit ios uicollectionview
我有一个UICollectionView,它使用Flow Layout放置它的单元格.它是垂直滚动的.
它填补了屏幕分辨率320x480,显示自定义UICollectionViewCell这始终是96*96 - 大小在Interface Builder设置和委托没有实现的方法来设置为每件商品的商品尺寸.
左侧和右侧有插图,每个插图10 px,最小间距设置为6px.
因此,每条水平线有3个单元.
<-10 - > <---- ---- 96> < - 6 - > <---- ---- 96> < - 6 - > <---- ---- 96> < - 10-> = 320.
我遇到的问题是它偶尔会在一条线上放置4个单元!第四个小区大部分都在屏幕外.然后它在下一行只放置2个单元格以进行补偿.流程布局的全部要点是它是一个断线布局,不应该在屏幕外放置任何东西!
我附上了一张照片:

请注意,在第二行,第四项主要是在屏幕外.
我真的不知道是什么原因造成的.单元格动态填充数据但其大小不变.所有其他行上的单元格都很合适,因此没有理由在某些行上发生这种情况.
每次更新集合视图时,都会在不同的位置发生此错误.即.它可能发生在第2行,然后一旦发生更新,它可能发生在第10行,依此类推.
集合视图正由计时器更新.计时器本质上调用一个处理某些数据的函数,然后使用dispatch_async(在主队列上)更新包含后备数据的数组并调用[collectionView reloadData].所以我没有从主线程以外的任何线程更新集合视图.后备阵列仅在主队列和该功能中更新; 不是来自其他地方.
请有人给我一些关于可能出错的建议.
谢谢
我已经通过添加委托方法修复了[_collectionViewFlowLayout invalidateLayout]它scrollViewDidScroll:。
https://github.com/f33chobits/FSCalendar/issues/21
| 归档时间: |
|
| 查看次数: |
3028 次 |
| 最近记录: |