昨天做出来的瀑布流美美哒,但是,我今天把它玩坏了。。
效果如下:
Simulator Screen Shot 2016年4月1日 14.35.35.png第一张图应该是提莫必须死啊(第三张显示的没问题),不应该是这个女主播啊。。
而且尺寸也不对,为什么呢?
发现不对啊,我这边只显示了14个cell啊,怎么会出现这个女主播啊,这个女主播的URL是20个啊,根本就是有问题的。
后来我打印了一下,发现的确初始化了21个cell。为什么呢?
后来明白了,假设我没有网络,我的collectionViewCell的高度为100,那么(6S Plus )可以显示多少行?是7行,最后一行显示不完全。那么创建了21个cell没什么疑问了,我的高度设置的不对。应该设置大一点的。
因为我这边cell的attributesArray的获取是通过代理方法取到的,所以我需要调整默认的cell高度,调整大一点即可。
屏幕快照 2016-04-01 15.00.10.png如果不是通过重写FlowLayout的collectionView,需要调整下面这个方法返回的高度:
屏幕快照 2016-04-01 15.01.45.png此外,有时会出现下面这个情况:
Simulator Screen Shot 2016年4月1日 15.04.06.png发现问题了吧?
就是图片本身没问题,摆放的位置也没问题,预留的间隙也是正确的,但是cell的尺寸有问题,cell的大小没有调整过来,是为什么呢?
cell的刷新有问题呗~ 去看一下,原来刷新cell的地方有蹊跷:
屏幕快照 2016-04-01 15.07.51.png原来刷新是在block中执行的,并不是在主线程中,我们要加一个异步操作:
屏幕快照 2016-04-01 15.33.24.png这样就可以保证collectionView每次都可以按照我们期望的那样刷新了。
加油~
网友评论