美文网首页
UICollectionView 无法滚动到指定位置/指定Cel

UICollectionView 无法滚动到指定位置/指定Cel

作者: Doublingli | 来源:发表于2016-12-14 11:33 被阅读0次

今天开发中遇到一个小问题:

需求:在UICollectionView在展示之前显示到具体的某一个Cell上

在viewWillAppear()中调用scrollToItem(at:at:animate)不会使collectionView滚动

override func viewWillAppear(_ animated : Bool) {

    super.viewWillAppear(animated)

    if let index = indexPathToShow {

        //self.collectionView?.layoutIfNeeded()

        self.collectionView?.scrollToItem(at: index, at:UICollectionViewScrollPosition.centeredHorizontally, animated:false)

    }

}

原因可能是因为这个CollectionView使用了UICollectionViewFlowLayout

程序执行到scroll时这个CollectionView中很多(暂时不会用到的)subviews都还没有被layout,因此无法滚动到这个view上。

参考了StackOverFlow上的一个问题在scroll之前调用self.collectionView.layoutIfNeeded()

无论如何,它现在的确可以正常的滚动到正确的位置了

参考:http://stackoverflow.com/questions/14977896/xcode-collectionviewcontroller-scrolltoitematindexpath-not-working

相关文章

网友评论

      本文标题:UICollectionView 无法滚动到指定位置/指定Cel

      本文链接:https://www.haomeiwen.com/subject/czjimttx.html