2016笔记——瀑布流

昨天做出来的瀑布流美美哒,但是,我今天把它玩坏了。。

效果如下:

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每次都可以按照我们期望的那样刷新了。

加油~

你可能感兴趣的:(2016笔记——瀑布流)