使用操作将 CollectionView 滚动到下一个单元格

JSh*_*rpp 1 uislider ios uicollectionview swift

我有一个水平集合视图,每次点击按钮时都会添加一个新单元格。每次点击按钮时,一旦单元格不再可见,我就会尝试将集合视图滚动到下一个单元格。

我现在拥有的代码无法正常工作

代码:

@IBAction func random(_ sender: Any) {

    resultsCollection.reloadData()

    let collectionBounds = resultsCollection.bounds
    let contentOffset = CGFloat(floor(resultsCollection.contentOffset.x - collectionBounds.size.width))
    self.moveToFrame(contentOffset: contentOffset)

}

func moveToFrame(contentOffset : CGFloat) {

    let frame: CGRect = CGRect(x : contentOffset ,y : resultsCollection.contentOffset.y ,width : resultsCollection.frame.width,height : resultsCollection.frame.height)
        resultsCollection.scrollRectToVisible(frame, animated: true)
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题,以便在我点击按钮时它可以正确滚动?

vpo*_*ave 6

After reload your data, call this lines.

let lastItem = resultsCollection(resultsCollection, numberOfItemsInSection: 0) - 1
let indexPath = IndexPath(row: lastItem, section: 0)

resultsCollection.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
Run Code Online (Sandbox Code Playgroud)