多个UICollectionView在一个控制器中
我有一个视图与两个UICollectionViews设置。 每个视图都有一个以不同大小支持的数组。 collection1由array1支持,而collection2由array2支持。 问题是,从numberOfItemsInSection返回collection1的数量正被应用于两个集合视图。
例如,如果array1的大小为4,array2的大小为5,那么这两个集合将显示4个元素。 如果array1的大小是5,array2的大小是4,那么当我滚动collection2的时候,它会调用cellForItemAtIndexPath,其collectionIndex为5,我得到一个NSRangeException。
我怎样才能使每个collectionView使用它自己的大小?
- (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section; { if(view == self.colleciton1){ return self.array1.count; } else if (view == self.collection2){ return self.array2.count; } return 0; } - (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath; { if(cv == self.collection1){ CharacterCell *cell = [cv dequeueReusableCellWithReuseIdentifier:FIRST_CELL_IDENTIFIER forIndexPath:indexPath]; cell.label.text = self.array1[indexPath.item]; return cell; } else if (cv == self.collection2){ EpisodeCell *cell = [cv dequeueReusableCellWithReuseIdentifier:SECOND_CELL_IDENTIFIER forIndexPath:indexPath]; cell.label.text = self.array2[indexPath.item]; return cell; } return nil; }
我已经包括一个项目说明问题的git回购。
git@github.com:civatrix / MultipleCollectionViews.git
问题是我为每个集合使用相同的布局对象。 回想起来,这是有道理的,但你必须确保你为每个collectionView创build不同的布局。
也许它会更容易使用ContainerViews并为每个UICollectionView有两个单独的UICollectionView控制器
你有什么应该工作。 是self.colleciton1和self.collection2 IBOutlets? 如果是这样,你可以仔细检查他们是否正确连接?
- json数据快速返回零
- 如何实现像日历中的dateselect器那样滑出的视图?
- 为UITableView自定义详细信息披露buttonconfiguration操作
- 无法在swift中的viewDidLoad()中重载函数
- 如何使用sprite工具包在iOS中创build一个alpha蒙版
- ios应用程序出错:命令/ usr / bin / codesign失败,退出代码为1
- kCFStreamErrorDomainSSL,当通过iOS 9中的HTTPS通过IP地址连接到服务器时为-9802
- 检测选定的注释以更改引脚颜色
- iOS:如何在popup其子UIViewController后“刷新”UIViewController?