有没有使用sizeToFit计算UILabel大小的准确方法?

时间:2017-04-13 11:43:22

标签: swift uicollectionview uilabel sizetofit

我知道这个问题是一个很长的问题,但我只是想知道是否有人找到了更好的解决方案。使用boundingRect是不准确的,因为它不适用于自动换行。我不想使用sizeToFit的原因是,当需要计算大量标签时会导致相当大的性能损失,从而导致滚动期间出现急动(我正在使用UICollectionView)。

1 个答案:

答案 0 :(得分:0)

有一种内部方法可以使sizeToFit成为可能 - sizeThatFits(_ size: CGSize) -> CGSize。您可以使用它来计算大小,而无需实际转发视图。

除了没有更多。有很多方法,正如您所提到的那样,计算具有不同字体/属性/字符串的字符串的边界框,但它们总是稍微偏离,因为UI控件具有不可公开访问的内部布局或边距。即使你现在开始工作,它也会从iOS变为iOS。

作为一种解决方案,我建议缓存大小。模型更改,旋转或集合视图宽度更改无效。