最简单的方法是将UITextView
高度调整到其内容,然后将UITableViewCell
高度(作为容器)调整到UITextView
的相同高度?
答案 0 :(得分:2)
将您的UITextView行数设置为0。 在包含tableView的Controller的viewDidLoad中使用:
tableView.estimatedRowHeight = 55.0
tableView.rowHeight = UITableViewAutomaticDimension
答案 1 :(得分:2)
要计算textview的高度,我想你需要知道文本的高度。所以在你的heightForRowAtIndexPath委托方法中,计算文本高度并使用它返回它:
func heightWithConstrainedWidth(width: CGFloat, font: UIFont) -> CGFloat {
let constraintRect = CGSize(width: width, height: CGFloat.max)
let boundingBox = self.boundingRectWithSize(constraintRect, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil)
return boundingBox.height
}
您需要将textview约束,bottom,top,leading和trailing设置为0,以便它们适应单元格的大小。 代码是from here。