项目中习惯了使用UICollectionView,也因此产生了很多的坑。
今天就遇到了Cell显示后又消失了的神奇问题,对着ViewController中几百行的代码及注册的近20种cell类型各种研究,一天下来毫无头绪,自己的逻辑完全是对的啊!!!!!
吐槽完毕,进入正题
大家都知道UITableview使用时要注意一点,那就是如果使用了headerView和footerView的话,其高度都不可以设置为0,即使有的section不要headerView和footerView也不可为0,建议设置成0.01.
而UICollectionView呢,没有人提到过这个问题,我也只是知道不能设置为CGSizeZero,但是在这次遇到的问题中,我设置了宽度,而是把高度设置为了0,
不等于CGSizeZero吧。那也是不行的!!!!!
CGSize 的宽和高都必须大于0.01,否则就出现了Cell消失的问题!!!!!
总结:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
{
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section
{
}
只要有Section设置了Header或Footer就要保证 这两个代理的返回值不可为0
即CGSize中的width和height任一不可为0