Swift 4,iOS如何在添加字符串值后检测标签高度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 4,iOS如何在添加字符串值后检测标签高度相关的知识,希望对你有一定的参考价值。
在UICollectionView中,我的单元格大小必须是150 + label.height。现在我使用自定义布局来计算height = 150,如果图像存在于ImageView中,如果不是height = 100.这很容易。但是当我不知道从Api拿到什么文本时如何计算label.height?有什么功能可以做到吗?
customLayout.swift
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线程中调用此函数。希望这可以帮助。
以上是关于Swift 4,iOS如何在添加字符串值后检测标签高度的主要内容,如果未能解决你的问题,请参考以下文章
如何在swift ios中的自定义TableView单元格中显示多个字符串值到多个标签?