0

我正在使用启用分页的水平 UICollectionView。我想要的是页面它应该只移动屏幕(页面)宽度的一半,对于其余页面它将是正常的,即屏幕的大小。如何做到这一点?

4

1 回答 1

0

UICollectionView继承自UIScrollView,因此您可以通过覆盖以下 UIScrollViewDelegate 的方法来控制滚动行为,如下所示:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat pageWidth = yourCollectionView.frame.size.width;
    int page = floor((yourCollectionView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    [yourCollectionView setContentOffset:CGPointMake(page*yourCollectionView.frame.size.width, 1) animated:NO];
}

PS你需要设置yourCollectionView.delegate = self

希望能帮助到你

于 2015-04-20T11:19:07.733 回答