CollectionView单元上的AttributedString不显示字符串值

时间:2018-11-13 19:44:03

标签: swift string uicollectionview uilabel nsattributedstring

我有一个UICollectinViewCell,其标签设置为attributedString。

在cellForItem内部,我将一个简单的字符串强制转换为NSAttributedString,以便可以设置UILabel的attributedText属性。

仅当我滚动CollectionView时才出现字符串"Attributed String Text"。如果我不滚动,则会显示"Label",因为那是IB中设置的文本。如果我将UILabel保持为纯文本格式,则正确的文本就好了。

// cellForItemAt
let string = "Attributed String Text"
let mutableAttributedString = NSAttributedString(string: string)
cell.subName.attributedText = mutableAttributedString

如何在无需滚动CollectionView的情况下显示attributedText?

1 个答案:

答案 0 :(得分:0)

我知道了。我相信这可能是Xcode的错误。我的代码没有错。普通(纯文本)UILabel可以正常显示正确的文本。当我将其切换到属性UILabel时,显示的 stopped 文本没有其他代码更改。

闲逛了一段时间,我发现了这个线程:Label text in UICollectionViewCell not updating,用户Jacksonsox遇到了类似的问题。

在Interface Builder中,我删除了未更新的UILabel的连接,删除了UILabel,重新添加了新标签,重新连接,将其设置为Attributed文本,现在文本显示的很好。同样,没有代码更改。 IB中只有更改。

我希望这对遇到类似问题的其他人有所帮助。