我有一个 UICollectionView
,其中包含一些 UICollectionViewCell
。这些单元格中的每一个都有两个标签,左上角的一个是该单元格的日期,另一个是货币金额。我在 Storyboard中通过约束设置了两个标签的位置。
货币标签来自CoreData,在首次打开应用时显示。
我有一个按钮,可以单击该按钮以将新金额添加到所选的任何单元格。该按钮将新数量保存到 CoreData,然后调用 self.collection.reloadItemsAtIndexPaths(self.collection.indexPathsForSelectedItems()!)
。
当单元格重新加载时,货币标签的位置与其他单元格不同。
调试器让我看到 reloadItemsAtIndexPath
将我带到 cellForItemAtIndexPath
函数并执行 cell.dateAmount.text = "$\(Int(amount ))"
.
除了标签的位置向上移动了几个像素外,一切都按我的预期进行。关于可能导致这种情况的原因有什么建议吗?
最佳答案
我不确定为什么重新加载单元格会导致约束中断,但我通过将两个标签放在堆栈 View 中找到了解决方案。现在,当我更新标签时,它会保留在原来的位置,只有文本发生变化。
关于ios - Swift - CollectionViewCell 标签在我重新加载后移动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35077814/