我有一个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?
答案 0 :(得分:0)
我知道了。我相信这可能是Xcode的错误。我的代码没有错。普通(纯文本)UILabel可以正常显示正确的文本。当我将其切换到属性UILabel时,显示的 stopped 文本没有其他代码更改。
闲逛了一段时间,我发现了这个线程:Label text in UICollectionViewCell not updating,用户Jacksonsox遇到了类似的问题。
在Interface Builder中,我删除了未更新的UILabel的连接,删除了UILabel,重新添加了新标签,重新连接,将其设置为Attributed文本,现在文本显示的很好。同样,没有代码更改。 IB中只有更改。
我希望这对遇到类似问题的其他人有所帮助。