Swift:如何将UITableViewCell高度调整到其中的UITextView

时间:2016-03-16 16:15:20

标签: ios swift uitextview uitableview

最简单的方法是将UITextView高度调整到其内容,然后将UITableViewCell高度(作为容器)调整到UITextView的相同高度?

2 个答案:

答案 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