最近在实现一个功能, 将网络图片等比例显示出来; 由于使用的是collectionview, 在cell中得到图片的大小,需要刷新整个视图;
图片是正常的可以等比例显示, 滑动之后,有部分cell消失不显示了;
在开始我以为是重用出错了, 在进行调试的时候,打印cell,发现hidden属性是YES; 那些消失的cell时隐藏了; 直接设置cell的hidden属性不起作用;
在网上进行大量搜索之后, 找到了解决方法http://www.cnblogs.com/elladu/p/5953261.html; 这篇博客中提出的解决方法刚好是我需要的; 使用之后,cell正常显示了;
虽然问题是解决了,但是究竟是什么原因导致的,还是不明白;
猜测:
collectionview第一次加载,加载到图片 执行reloadData方法, 也就是说在执行reloadData还没有结束是,又执行reloadData; 而采用
dispatch_async(dispatch_get_main_queue(), ^{
[collectionView reloadData];
});
这种方式执行, 应该是在第一个reloadData方法之后执行第二个reloadData方法;以上是只我自己的猜想,有很大可能是错误的. 问题虽然解决了,但是原因并不知道; 如果有哪位同学知道, 可以留言,帮我解惑;
谢谢.