iOS6的相同代码运行良好。
出于某种原因,在更新到iOS7并使用此布局时
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
/
CGSize s = CGSizeMake(self.collectionView.frame.size.height,self.collectionView.frame.size.height);
[flowLayout setItemSize:s];
不调用collectionview委托方法。我将滚动方向更改为垂直,调用所有委托,我将collectionview的框架大小更大,并调用委托方法。我怀疑收集视图是在其内容视图中的一些原因偏移,导致单元格在屏幕外,因此不会调用委托。当使框架变大(水平或垂直模式)时,集合视图“填充”滚动视图并且代表被称为
正常大小的collectionview(不调用单元格和委托)
将帧放大50像素
CGRect r = CGRectInset(self.filmStripRect, 0, -50);
出现单元格并调用委托
答案 0 :(得分:3)
答案 1 :(得分:2)
我们应该创建一个新的CollectionViewLayout
,并将其重新签名为collectionView
:
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
self.collectionView.collectionViewLayout = flowLayout;
答案 2 :(得分:1)
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
[CollectionData setCollectionViewLayout:flowLayout];
如果您使用的是故事板,请选择一个集合视图,转到属性检查器,将滚动方向设置为水平。