我有一个带有简单单元格的CollectionView - 一个标签和一个图像。通过AutoLayout我确保标签始终位于图像的顶部。
我使用2列布局,它产生以下视图(调试模式/颜色混合层):
在CollectionViewController中,当调用cellForItemAtIndexPath
时,我使用dequeueReusableCellWithReuseIdentifier
,它在CollectionViewCell中将标签文本和imageview图像设置为nil:
override func prepareForReuse() {
coverImage.image = nil
title.text = nil
collection = nil
}
但是,重新附加图像时,AutoLayout会以某种方式停止正常工作。当我向下滚动到最初在视图边界之外的单元格时,标签有时是不可见的,有时是它应该的两倍。
这是可重现的,并且总是在相同的单元格上发生,但是底层数据与正确放置单元格时的格式完全相同(label.text值不是nil或者是2行的东西)。
我尝试了各种方法来解决此问题(包括Auto Layout in UICollectionViewCell not working和UICollectionViewCell Auto Layout),但问题仍然存在。
我正在使用/测试iOS 9.3和8.1以及Xcode 7.3.1。