数据来自api,我想根据来自api的文本高度增加单元格高度。 我想在标签中显示更多文本,但由于单元格较小,因此会减少。
我做了UItableViewAutomationDimenension
,但对我来说确实不起作用。
如果有人知道,请告诉我。 在此先感谢
答案 0 :(得分:0)
func heightForText(string: String, width: CGFloat, font: UIFont) -> CGFloat {
let attrString = NSAttributedString(
string: string,
attributes: [NSFontAttributeName: font])
let size = attrString.boundingRect(
with: CGSize(width: width, height: CGFloat.greatestFiniteMagnitude),
options: NSStringDrawingOptions.usesLineFragmentOrigin, context: nil)
return size.height
}
答案 1 :(得分:0)
做完这些工作后,我找到了解决方案。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if msg1[indexPath.row].messageType == "image"{
return 185.0
}
else{
let attrString = NSAttributedString(
string: msg1[indexPath.row].message!,
attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 16)])
let size = attrString.boundingRect(
with: CGSize(width: 200, height: CGFloat.greatestFiniteMagnitude),
options: NSStringDrawingOptions.usesLineFragmentOrigin, context: nil)
return size.height + 35
}
因此它给出如下结果输出:
无论如何,感谢大家的回答... !!!