几个UICollectionViews像iBooks一样水平滚动

我想做一个包含几个collectionViews的视图。 向左或向右滑动将滚动到另一个collectionView

作为启用分页的第一步,添加了一个scrollView 。 我也将内容大小设置为页数。

 int nb_of_items = 10; // Scroll view for (int i=0; i< nb_of_items ; i++) { CGRect frame = CGRectMake(_scrollView.frame.size.width * i, 0, _scrollView.frame.size.width, _scrollView.frame.size.height); _collectionView.frame = frame; [_scrollView addSubview:_collectionView]; } _scrollView.contentSize = CGSizeMake(_scrollView.frame.size.width * nb_of_items, _scrollView.frame.size.height); _scrollView.delegate = self; 

collectionView是在我的故事板中定义的,并将数据源和委托设置为self。 我只收到第一页上的collections。 在其他页面上,我什么也得不到

scrollView减速时,我也尝试刷新收集

 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { [self updateCollection]; } - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { if (!decelerate) { [self updateCollection]; } } -(void)updateCollection{ NSLog(@"Updating Collection"); [_collectionView reloadData]; } 

任何想法,我可以解决这个问题?

请记住,集合视图是滚动视图,所以您已经可以滚动。 您已经知道滚动视图可以将滚动限制为仅整页。 因此,您可以将集合视图设置为使用页面,然后用户可以在集合内容的每个部分之间滚动。

您只需确保布局以正确的方向(水平而不是垂直)滚动,并且每个页面都有相应的内容。 您可能希望为此创build自己的布局,但只要您适当地设置项目大小,它可以使用stream布局。