IOS UICollectionView与ScrollView
我有6个图像在我的数据库中。IOS UICollectionView与ScrollView
我已经创建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];
}
}
}
第一页控件是2张图片。
当我滚动到第二页控制是2图像(但它不加载新的图像)。
当我滚动到第三页控制是2图像(这是加载新的图像)。
你可以看到下面的链接在我的项目的一些图片: http://imgur.com/a/nIMic
而且我的项目演示。 https://github.com/VMTrinh/Sticker
请帮帮我!
我想你的问题是你不需要在滚动视图中嵌入集合视图。
滚动机制由集合视图管理。
您可以使用scrollToItemAtIndexPath:
方法滚动收藏。
你能看到我的一些关于我的问题的图片! –
我的问题是在这里的细节: http://stackoverflow.com/questions/33562705/create-multi-uicollectionview-in-a-viewcontroller –
你遇到了什么问题。 –
首先,当我先滚动时,它不会重新加载collectionView来显示新图像。在我的图像阵列中有2个新图像。你可以下载我的演示项目来检查这个错误!\ –
我知道我的问题的原因,但我无法解决它。 –