UICollectionView - 滚动到下一页

时间:2016-01-18 07:26:33

标签: ios swift uicollectionview

是否有机会使用UICollectionView滚动到所需项目。 scrollToItemAtIndexPath并且不捕捉项目本身,而是捕捉项目所属的页面? (我启用了分页功能。)

干杯

2 个答案:

答案 0 :(得分:5)

您需要创建NSIndexPath而不是滚动到该索引。

 //Mark: - Move to cell when view did appear

overload viewDidAppear() {


    let scrollIndex: NSIndexPath = NSIndexPath(forItem: dayIndex, inSection: monthSection)
    if (// Check you are in range of UIcollectionView's count) {
        //Scroll collectionview according to your requirement i.e UICollectionViewScrollPositionCenteredHorizontally or UICollectionViewScrollPosition.Left 
        self.YourCollectionView.scrollToItemAtIndexPath(scrollIndex, atScrollPosition: UICollectionViewScrollPositionCenteredHorizontally, animated: true)
    }
}

答案 1 :(得分:2)

我最终使用了offsetContent属性;

我知道每个所谓的页面的宽度。

  1. 我编写了一个代码来获取当天的indexPath
  2. 我检索了indexPath的部分
  3. 我将该部分乘以视图的宽度并命名为" offset"
  4. 我将我的UICollectionView.contentOffset.x设置为" offset"它工作正常。
  5. 我也尝试过使用.scrollRectToVisible和偏移量,它的工作效果令人惊讶,但我还想更新一些基于UICollectionView的contentOffset的东西,而.scrollRectToVisible似乎不会更新这个属性 - 它只是更新了之后我拖了一下视线。

    感谢您的帮助!