【发布时间】:2021-09-21 01:47:56
【问题描述】:
我使用 Storyboard (Swift) 中的 UICollectionView 创建了一个水平菜单。将集合滚动到活动单元格时出现问题 - 滚动仅在不更新集合的情况下才能正常工作。而且我需要更新它以显示活动单元格(底部的文本颜色和线条,隐藏在非活动单元格中)。问题的本质在附加到代码的动画中清晰可见。
如何纠正问题并制作真正的工人菜单?
代码 1 滚动是正确的,单元格没有重新加载 gif-demonstration
//1
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
collectionMenu.isPagingEnabled = false
collectionMenu.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
collectionMenu.isPagingEnabled = true
}
代码 2 重新加载单元格,但滚动已损坏 gif-demonstration
//2
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
collectionMenu.reloadData() //change design active cell
collectionMenu.isPagingEnabled = false
collectionMenu.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: false)
view.layoutIfNeeded()
collectionMenu.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
collectionMenu.isPagingEnabled = true
}
【问题讨论】:
标签: ios swift uicollectionview