Swift 4,iOS如何在添加字符串值后检测标签高度
在UICollectionView中,我的单元格大小必须为150+label.height。现在我使用自定义布局来计算高度=150,如果图像存在于ImageView中,如果不是高度=100。这很容易。但当我不知道将从Api获取什么文本时,如何计算label.height?有什么函数可以得到它吗 斯威夫特Swift 4,iOS如何在添加字符串值后检测标签高度,ios,label,swift4,cell,Ios,Label,Swift4,Cell,在UICollectionView中,我的单元格大小必须为150+label.height。现在我使用自定义布局来计算高度=150,如果图像存在于ImageView中,如果不是高度=100。这很容易。但当我不知道将从Api获取什么文本时,如何计算label.height?有什么函数可以得到它吗 斯威夫特 let photoHeight = delegate.collectionView(collectionView, heightForPhotoAtIndexPath: indexPath) &
let photoHeight = delegate.collectionView(collectionView, heightForPhotoAtIndexPath: indexPath) > 0 ? 150 : 100
let height = cellPadding * 2 + CGFloat(photoHeight) + (labelHeight??????)
您可以使用下面的函数计算标签高度
extension UILabel {
func heightToFitContent() -> CGFloat {
self.numberOfLines = 0
self.lineBreakMode = NSLineBreakMode.byWordWrapping
let maximumLabelSize : CGSize = CGSize(width: self.frame.size.width, height: CGFloat.greatestFiniteMagnitude)
let expectedLabelSize : CGSize = self.sizeThatFits(maximumLabelSize);
self.sizeToFit()
return expectedLabelSize.height
}
}
在UI线程中调用此函数。希望这有帮助。你应该考虑使用自动布局有自我大小的细胞自我是UIABELL,我需要在我的情况下的间距。