相关疑难解决方法(0)

UICollectionView当前可见单元格索引

UICollectionView在我的iPad应用程序中第一次使用.我设置UICollectionView它的大小和单元格大小相同,意味着一次只显示一次单元格.

问题: 现在当用户滚动UICollectionView我需要知道哪个单元格可见时,我必须更新其他UI元素.我没有找到任何委托方法.我怎样才能做到这一点?

码:

[self.mainImageCollection setTag:MAIN_IMAGE_COLLECTION_VIEW];
[self.mainImageCollection registerClass:[InspirationMainImageCollectionCell class] forCellWithReuseIdentifier:@"cellIdentifier"];
[self.mainImageFlowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
[self.mainImageFlowLayout setMinimumInteritemSpacing:0.0f];
[self.mainImageFlowLayout setMinimumLineSpacing:0.0f];
self.mainImageFlowLayout.minimumLineSpacing = 0;
[self.mainImageCollection setPagingEnabled:YES];
[self.mainImageCollection setShowsHorizontalScrollIndicator:NO];
[self.mainImageCollection setCollectionViewLayout:self.mainImageFlowLayout];
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

正如UICollectionViewConforms to UIScrollView,当用户滚动以UIScrollViewDelegate方法结束时,我得到了

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
Run Code Online (Sandbox Code Playgroud)

但是在上面的函数里面如何获得当前可见的单元格索引UICollectionView

objective-c ipad ios uicollectionview

104
推荐指数
9
解决办法
13万
查看次数

无法获取UICollectionView当前页面

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;
}
Run Code Online (Sandbox Code Playgroud)

pageControl用来表示我有多少页面和当前页面.

我使用类似于以下链接的方法来确定当前页面.

iOS6 UICollectionView和UIPageControl - 如何获取可见单元格?

UICollectionView:页面控制的当前索引路径

如下.

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

但是,它不起作用.当我滑动collection view到下一页时,pageControl静止指向第一页.它不会改变它的价值.

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

我做错什么了吗?

ios uicollectionview

5
推荐指数
1
解决办法
3661
查看次数

标签 统计

ios ×2

uicollectionview ×2

ipad ×1

objective-c ×1