ios - UICollectionView 滚动到水平方向不工作的项目

标签 ios swift uicollectionview

我在启用分页的 UIViewController 中有一个 UICollectionView。出于某种奇怪的原因,collectionView.scrollToItemcollectionview 的方向为 vertical 时有效,但在方向为 horizo​​ntal。这是我做错了什么还是应该发生?

  //Test scrollToItem
  func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let i = IndexPath(item: 3, section: 0)
    collectionView.reloadData()
    collectionView.scrollToItem(at: i, at: .top, animated: true)
    print("Selected")
  }

最佳答案

适用于 iOS 14

显然 UICollectionView 中有一个新错误导致 scrollToItem 在启用分页时无法工作。解决方法是在调用 scrollToItem 之前禁用分页,然后再重新启用它:

collectionView.isPagingEnabled = false
collectionView.scrollToItem(
    at: IndexPath(item: value, section: 0),
    at: .centeredHorizontally,
    animated: true
)
collectionView.isPagingEnabled = true

来源:https://developer.apple.com/forums/thread/663156

关于ios - UICollectionView 滚动到水平方向不工作的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41884645/

相关文章:

ios - 从两个类访问同一段代码

ios - Unwind Segue 隐藏标签栏

ios - 当呈现为模态表时,带有 UIRefreshControl 的 ScrollView 不会刷新

ios - 停止在 Collection View 中重新加载

ios - 从核心数据中获取最新值并将其分配给标签。 swift

ios - UICollectionview 立即布局更新

javascript - 类型错误 : Cannot destructure property `stat` of 'undefined' or 'null'

ios - CloudKit 在不同的 iCloud 帐户之间共享数据,但不是与所有人共享

ios - 如何在 iOS 上更改设备音量 - 而不是音乐音量

swift - 自动删除 UITableView 中的行 : Swift3