我的数据库中有6张图片。

我创建了UIScrollView *scroll;,之后,我创建了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];
        }
    }
}

第一页的Control是2张图片。

当我滚动到第二个pageControl时是2张图片(但是,不会加载新图片)。

当我滚动到第三页时,Control是2张图像(正在加载新图像)。

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

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

请帮我!

最佳答案

我想您的问题是您不需要将集合视图嵌入滚动视图中。

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

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

关于ios - iOS UICollectionView与ScrollView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33561266/

10-11 19:48
查看更多