我正在使用UICollectionView Inside UICollectionViewCell。 Top CollectionView将在Veritical方向上滚动(Left< - > Right),Inner CollectionView将在水平方向滚动(Top< - > Bottom)..
当我滚动顶部collectionView顶部到底部滚动不顺畅,因为内部CollectionView滚动。
有没有办法从顶部< - >底部顺利滚动顶部CollectionView?
Top CollectionView DataSource方法
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
static NSString *cellIdentifier = @"CellId";
CustomCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]
......
......
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
retrun 10;
}
**Within CustomCollectionViewCell Inner CollectionView Datasource**
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
static NSString *cellIdentifier = @"CellId";
CustomCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]
......
......
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
retrun 10;
}
答案 0 :(得分:0)
实际上你正在做的是错误的方法,你使用UICollectionView
作为UICollectionViewCell
内的容器......滚动者无法找到我向谁滚动外部控件,即你的根您UICollectionView
内的UICollectionView
或UICollectionViewCell
。你可以尝试一些其他的方法,如果你能弄清楚一些。或者如果你想出一些示例代码就好了。
答案 1 :(得分:0)
如果将集合视图的委托和数据源放在主集合视图单元格中,则不会出现问题。
如下所示:
集合视图单元格界面:
@interface GalleryCell()
<UICollectionViewDataSource, UICollectionViewDelegate>
{
NSArray *dataSourceArray;
}
@end
并实施:
@implementation GalleryCell
#pragma - datasources
// Defines the number of cells in a section of collection view
- (NSInteger)collectionView:(UICollectionView *)cv numberOfItemsInSection:(NSInteger)section;
{
return dataSourceArray.count;
}
// Defines the cells in the collection view
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath;
{
UICollectionViewCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"cellId" forIndexPath:indexPath];
return cell;
}
@end