属性文本 UILabel 在 UICollectionViewCell 中被切断,但在 UITableViewCell 中没有

Posted

技术标签:

【中文标题】属性文本 UILabel 在 UICollectionViewCell 中被切断,但在 UITableViewCell 中没有【英文标题】:Attributed text UILabel cut off in UICollectionViewCell but not in UITableViewCell 【发布时间】:2016-01-20 13:23:31 【问题描述】:

UICollectionViewCell 中的属性文本 UILabel 在滚动后被截断(自动布局打开)。

为什么 UITableViewCell 中的相同设置工作正常。 (约束/优先级也相同)

使用自定义字体和自动换行

【问题讨论】:

【参考方案1】:

通过提供 UILabel 属性 preferredMaxLayoutWidth 的单元格宽度减去您在布局中使用的可能偏移量来解决此问题。

self.yourUIlabel.preferredMaxLayoutWidth = CGRectGetWidth(self.bounds) - yourOffsets;

在这里找到答案:http://johnszumski.com/blog/auto-layout-for-table-view-cells-with-dynamic-heights

类似问题:Word Wrap not working for UILabel & UILabel not wrapping text correctly sometimes (auto layout)

但仍然存在一些问题,为什么我在 UITableViewCell 中不需要这个属性

【讨论】:

以上是关于属性文本 UILabel 在 UICollectionViewCell 中被切断,但在 UITableViewCell 中没有的主要内容,如果未能解决你的问题,请参考以下文章

UILabel 在第二次设置属性文本时丢失文本属性

属性文本 UILabel 在 UICollectionViewCell 中被切断,但在 UITableViewCell 中没有

如何大写来自 Swift 子类的 UILabel 的文本属性

Cocoa - iOS - 更新 UILabel 的文本属性是不是需要 setNeedsDisplay?

使用属性文本在自定义 UILabel 中定位字符坐标

如何在 Swift 中更改 UILabel 文本某些部分的字体属性? [复制]