UICollectionViewCell 中的标签文本未更新
Posted
技术标签:
【中文标题】UICollectionViewCell 中的标签文本未更新【英文标题】:Label text in UICollectionViewCell not updating 【发布时间】:2014-11-28 09:28:59 【问题描述】:在UICollectionViewCell
加载后,我试图在UICollectionViewCell
中更改UILabel
的文本,同时点击button
。但标签不会在屏幕上更新。控制台显示标签的 text 属性已更新,但似乎标签没有用新文本重绘。
这是UICollectionViewCells
的已知问题吗?也许是某种缓存问题?我是否需要 reload
单元格或整个集合视图才能显示更新?
【问题讨论】:
请按照您尝试管理的方式添加一些代码。 @andlin 重新加载视图。 【参考方案1】:我遇到过类似的情况,collectionView 单元格中的 UILabel 更新正常。然后在对故事板进行一些修改后,UILabel 在以编程方式更新值时不会改变。如最初的问题所述,即使调试终端显示连接的 UILabel 属性文本正在更新,该值仍保持默认值。
这是我解决问题的方法。在故事板中,
-
删除了 UILabel 的引用出口(在“显示连接检查器”中)
从情节提要中删除了 UILabel
重新添加了 UILabel
将引用出口重新连接到 swift 文件代码属性
不知何故,一切又开始正常工作了。
附带说明:Radwa 答案的 swift 3.1 版本是:
collectionView.reloadItems(at: [indexPath]) // single cell in the collection view
collectionView.reloadData() // entire collection view
【讨论】:
【参考方案2】:因为单元格已经加载,单元格在重新加载之前不会发生任何变化,因此您可以重新加载整个集合视图
[self.collectionView reloadData];
或者只有一个/多个单元格受到数据更改的影响
[self.collectionView reloadItemsAtIndexPaths: indexpathArray];
但请确保在重新加载单元格之前正确更改数据
【讨论】:
以上是关于UICollectionViewCell 中的标签文本未更新的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionViewCell 中的 UILabel 布局怪异
UICollectionViewCell 中的 UILabel
UICollectionViewCell 中的 UILabel 为 nil
确定 UICollectionViewCell 中的点击元素
UICollectionViewCell 中的 UILabel 有时无法正确调整大小
在 cellForItemAtIndexPath 中的 UICollectionViewCell 中更改 UIView 的框架