美文网首页
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