带有ScrollView的IOS UICollectionView

我在我的数据库中有6个图像。

我已经创build了UIScrollView *scroll; 之后,我创build了UICollectionView并将UICollectionView添加到了UIScrollView

 UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init]; collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(screenWidth*i,5,screenWidth ,self.scroll.frame.size.height-5) collectionViewLayout:layout]; [collectionView setDataSource:self]; [collectionView setDelegate:self]; [collectionView setPagingEnabled:YES]; collectionView.showsHorizontalScrollIndicator = NO; collectionView.showsVerticalScrollIndicator = NO; [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellIdentifier"]; [collectionView setBackgroundColor:[UIColor purpleColor]]; [self.scroll addSubview:collectionView]; 

而现在,当我滚动我想在这个代码下面重新加载UICollectionView数据:

 - (void)scrollViewDidScroll:(UIScrollView *)sender { if (!pageControlBeingUsed) { [getAllEmoji removeAllObjects]; // Switch the indicator when more than 50% of the previous/next page is visible CGFloat pageWidth = self.scroll.frame.size.width; int page = floor((self.scroll.contentOffset.x - pageWidth / 3) / pageWidth) + 1; self.pageControl.currentPage = page; //Change Emoji when scroll NSString *str = [getAllCategory objectAtIndex:page]; NSArray *arr = [Emoji MR_findByAttribute:@"category" withValue:str]; if (arr.count > 0) { for (int i = 0; i < arr.count; i++) { Emoji *emoji = [arr objectAtIndex:i]; [getAllEmoji addObject:emoji.name_emoji]; } [collectionView reloadData]; } } } 

首页pageControl是2张图片。

当我滚动到第二页控制是2图像(但是,它不加载新的图像)。

当我滚动到第三页控制是2图像(这是加载新的形象)。

您可以在我的项目中的下面的链接中看到一些图像: http : //imgur.com/a/nIMic

和我的项目演示。 https://github.com/VMTrinh/Sticker

请帮帮我!

我想你的问题是,你不需要在滚动视图中embedded集合视图。

滚动机制由集合视图pipe理。

您可以使用scrollToItemAtIndexPath:方法滚动您的集合。