【问题标题】:How do I change the content of a collection view cell without tapping it in Objective C如何更改集合视图单元格的内容而不在Objective C中点击它
【发布时间】:2020-10-29 13:49:39
【问题描述】:

所以我有一个包含 12 个单元格的集合视图。我最初用图像设置了所有这 12 个单元格的内容。如果用户不点击单元格,我想知道如何更改这些单元格的内容。我知道有 didSelectItemAtIndexPath 但我希望只有在用户与此单元格交互后才能在此处进行更改,但我想要在这里做的有点不同。提前致谢,非常感谢您的回复。

【问题讨论】:

  • 分享您设置单元格图像的实现。希望您没有通过界面生成器执行此操作。 CollectionViews 的工作方式与 TableViews 非常相似。

标签: ios objective-c uicollectionview uicollectionviewcell mobile-development


【解决方案1】:

为什么不设置一个计时器并在触发时重新加载相关单元格?

您可以使用reloadData 重新加载所有单元格,也可以重新加载一个或多个部分甚至单个单元格。

此外,您可以执行批量更新,同时删除、插入和移动单元格,但这听起来有点超出您的预期,但值得一看。

【讨论】:

  • 嘿伙计,非常感谢。 ReloadData 绝对帮助并给了我这个想法。我最终使用的确切命令是if( (index >= 0) && (index <= [_collectionView numberOfItemsInSection:0]) ){ [_collectionView performBatchUpdates:^{ [_collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:0]]];} completion:nil]; } 只需确保索引始终在集合视图中的项目数范围内,否则它将破坏代码。这段代码在我做的公共方法中,所以检查非常重要
  • 好东西......因为你重新加载我认为不需要将它包装在批量更新中,但是如果你在未来你想要更复杂的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多