UICabel在UICollectionViewCell中没有显示在新出列的单元格上

时间:2016-11-04 14:36:13

标签: ios uicollectionview

我有一个UICollectionView和一个自定义单元子类UICollectionViewCell,它包含一个UILabel。在cellForItemAtIndexPath中我出列,设置UILabel的文本并正常返回单元格。

当它加载时,一切看起来都是正确的,但是当我滚动新出列的单元格时,标签文本是空白的,即使我已经注销了正在设置的字符串,并且它已经被设置为'是的。

我没有在单元格中添加或删除任何内容,也没有设置为隐藏。

作为测试,我设置标签的背景颜色,背景位置和大小看起来正确,所以我不认为标签错位。

有什么想法吗?

我不确定它是否相关,但我使用的是Xcode 8.1,Swift 2.3,并且在实际的iPad和iPhone以及模拟器上都看到了类似的行为。

@ zac-kwan要求的代码:

guard let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Location Cell Vertical Left", forIndexPath: indexPath) as? LocationCollectionViewCellVertical else {
    print("Couldn't get locationCollectionViewCellVertical")
    return UICollectionViewCell()
}

永远不会调用guard语句的内部。

...

cell.locationTitleLabel.text = originalString

originalString始终包含有效字符串。

更新

最奇怪的部分是,如果我滚动,那么有问题的单元格不在屏幕上,然后滚动以便它们再次可见,它们会正确显示。

2 个答案:

答案 0 :(得分:0)

使用断点并在控制台po中使用yourLabelName并检查框架

答案 1 :(得分:0)

[collectioView registerNib:[UINib nibWithNibName:@“collectionViewCell”bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@“cell”]。注册nib文件。