Ios 带有UICollectionView/TableView的UIPageControl

Ios 带有UICollectionView/TableView的UIPageControl,ios,ios7,uiscrollview,uicollectionview,uipagecontrol,Ios,Ios7,Uiscrollview,Uicollectionview,Uipagecontrol,我有一个UICollectionView(一行,垂直对齐)和一个UIPageControl关联 ui页面控件将以点数作为“我的收藏”视图中的项目数 按下点时,我想更改/滚动采集视图的位置。 此外,我希望根据集合视图的滚动来更改所选的点 关于scrollViewDidScroll方法的某种算法有什么想法吗 提前感谢若我理解正确,我想您可以通过UICollectionViewDataSource 无论何时从数据源请求项目,都可以在UIPageControl上选择相关点。 这有帮助吗?若我理解正确,我

我有一个UICollectionView(一行,垂直对齐)和一个UIPageControl关联

ui页面控件将以点数作为“我的收藏”视图中的项目数

按下点时,我想更改/滚动采集视图的位置。 此外,我希望根据集合视图的滚动来更改所选的点

关于
scrollViewDidScroll
方法的某种算法有什么想法吗


提前感谢

若我理解正确,我想您可以通过
UICollectionViewDataSource
无论何时从数据源请求项目,都可以在UIPageControl上选择相关点。
这有帮助吗?

若我理解正确,我认为您可以通过
UICollectionViewDataSource
无论何时从数据源请求项目,都可以在UIPageControl上选择相关点。 这有用吗?

我得到了一个简单的解决方案。 在方法>代码> ScReVIEWDIDRONT/<代码>中,只需检查屏幕中部的可见单元格:

CGRect visibleRect = (CGRect){.origin = self.collectionView.contentOffset, .size = self.collectionView.bounds.size};
CGPoint visiblePoint = CGPointMake(CGRectGetMidX(visibleRect), CGRectGetMidY(visibleRect));
NSIndexPath *visibleIndexPath = [self.collectionView indexPathForItemAtPoint:visiblePoint];
[self.pageControl updateStateForPageNumber: (int)visibleIndexPath.row];
我有一个简单的解决办法。 在方法>代码> ScReVIEWDIDRONT/<代码>中,只需检查屏幕中部的可见单元格:

CGRect visibleRect = (CGRect){.origin = self.collectionView.contentOffset, .size = self.collectionView.bounds.size};
CGPoint visiblePoint = CGPointMake(CGRectGetMidX(visibleRect), CGRectGetMidY(visibleRect));
NSIndexPath *visibleIndexPath = [self.collectionView indexPathForItemAtPoint:visiblePoint];
[self.pageControl updateStateForPageNumber: (int)visibleIndexPath.row];

这是行不通的,因为当一个单元格被请求时,它不会在那一刻显示出来,你从上一个单元格中可以看到更多的区域cell@DaSilva是的,但取决于屏幕上随时显示的单元格数量,您可以获得显示在“中间”的单元格。假设您一次可以显示一个单元格,并且您收到对单元格3的请求,那么您知道当前可见的单元格是2。我想我找到了一个更好的解决方案@vishalv2050。下面是我的答案。这不起作用,因为当一个单元格被请求时,它不会在那一刻显示出来,你会从上一个单元格看到更多的可见区域cell@DaSilva是的,但取决于屏幕上随时显示的单元格数量,您可以获得显示在“中间”的单元格。假设您一次可以显示一个单元格,并且您收到对单元格3的请求,那么您知道当前可见的单元格是2。我想我找到了一个更好的解决方案@vishalv2050。下面是我的答案可能的重复