我在tableview的内容中给出了textview的前导和尾随。我想动态计算Tableviewcell的高度。有时高度计算工作正常,但有时不能像5c这样的特定设备工作。
我使用以下代码来估算文字的高度:
func estimateFrameForText(text: String) -> CGRect {
let size = CGSize(width: self.view.frame.size.width, height: 10000000)
let options = NSStringDrawingOptions.usesFontLeading.union(.usesLineFragmentOrigin)
return NSString(string: text).boundingRect(with: size, options: options, attributes: [NSFontAttributeName: UIFont.init(name: FontStyle.FontName.kDefault, size: 15.0)!], context: nil)
}
这里重要的是文本是HTML文本,我已将其转换为纯文本。然后将纯文本传递给上述函数。
答案 0 :(得分:3)
使用以下表格视图方法设置自动行高计算
func tableView(_ tableView: UITableView,heightForRowAt indexPath: IndexPath) -> CGFloat
{
return UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat
{
return 100
}