gpt4 book ai didi

ios - 无法获取 UICollectionView 当前页面

转载 作者:可可西里 更新时间:2023-11-01 04:35:08 30 4
gpt4 key购买 nike

我使用以下代码在水平方向对 collection view 进行了分页。

- (void)viewDidLoad
{
[super viewDidLoad];

self.collectionView.pagingEnabled = YES;
self.collectionView.directionalLockEnabled = YES;
self.collectionView.bounces = NO;
self.collectionView.showsHorizontalScrollIndicator = NO;
self.collectionView.delegate = self;

[self setup];

self.pageControl.currentPage = 0;

self.pageControl.numberOfPages = floor(self.collectionView.contentSize.width / self.collectionView.frame.size.width) + 1;
}

我正在使用 pageControl 来指示我有多少页和当前页。

我是用类似下面链接的方法来判断当前页面的。

iOS6 UICollectionView and UIPageControl - How to get visible cell?

UICollectionView: current index path for page control

如下。

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
NSInteger currentPage = self.collectionView.contentOffset.x / self.collectionView.frame.size.width;
self.pageControl.currentPage = currentPage;
}

但是,它不起作用。当我将 collection view 滑动到下一页时,pageControl 仍然指向第一页。它不会改变它的值(value)。

我打印出 self.collectionView.contentOffset.x 值,它总是在框架内(这是第一页,即使我滑动到下一页),它永远不会进入下一页。

我做错了什么吗?

最佳答案

您是否考虑了单元格之间的间距?

试试这个:

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
float currentPage = self.collectionView.contentOffset.x / self.collectionView.frame.size.width;
self.pageControl.currentPage = ceil(currentPage);

NSLog(@"Values: %f %f %f", self.collectionView.contentOffset.x, self.collectionView.frame.size.width, ceil(currentIndex));
}

关于ios - 无法获取 UICollectionView 当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21399124/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com