gpt4 book ai didi

ios - CollectionView 单元格在选中时移动

转载 作者:行者123 更新时间:2023-11-28 16:00:29 24 4
gpt4 key购买 nike

我有一个 CollectionView 问题,我有 a video显示下面详细说明的问题。当我单击一个单元格时,它会以一种奇怪的方式移动。这是我的代码:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
selectedFilter = indexPath.row

if filters[indexPath.row] != "Todo" {
filteredNews = news.filter { $0.category == filters[indexPath.row] }
} else {
filteredNews = news
}
tableView.reloadData()
collectionView.reloadData()

}

我的手机在移动,(只是最后一个手机,不知道为什么)。

我认为这可能与 collectionView.reloadData() 有关,但我需要这样做才能更新绿色条,您可以看到 on this Video当我选择一个单元格时。

如何让它不动?有人遇到过类似的问题吗?

最佳答案

我注意到您在 collectionView didSelectItemAt 期间重新加载了一个 tableView。如果该 tableView 是您的 collectionView 的 super View ,那将是您出现这种异常行为的确切原因。

如果不是,我可以提供 3 种解决方案:

  1. This library有一个 View Controller 子类,可以创建您想要显示的效果。
  2. 手动创建一个不在 collectionView 内的 UIView/UIImageView,但在 collectionView 的 didSelectItemAt 委托(delegate)方法期间更新它的位置,而是在单元格上显示 - 这需要一些计算,但您的 collectionView 不需要重新加载。<
  3. 您可以尝试使用 collectionView 的 reloadItem(at: IndexPath) 方法仅重新加载两个受影响的单元格。

知道当你重新加载一个表/ Collection View 时,它不会改变当前可见的单元格。但是,每个单元格中的任何内容都会受到影响。

关于ios - CollectionView 单元格在选中时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41152899/

24 4 0
文章推荐: ios - 如何使所有对象具有不同的 distanceInMeters?
文章推荐: jquery - 如何更改 css 不显示或单击按钮阻止
文章推荐: html - 将 标签置于
  • 的中心