我有一个名为todoTableView
的表视图,其中包含由用户创建的单元格。
每个单元格都有文本视图。
我想通过文本视图的内容更改单元格的高度。
这就是我试过的:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: TableViewCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath:indexPath) as! TableViewCell
cell.bounds.size.height = cell.textView.bounds.size.height
return cell
}
答案 0 :(得分:23)
使用边际约束从所有方面绑定textview
cell
。(前导,尾随,顶部和底部约束)
在 viewDidLoad()中添加以下内容。
tableView.estimatedRowHeight = 44.0
tableView.rowHeight = UITableViewAutomaticDimension
这将根据您的textview内容大小制作单元格大小。
看看结果:
您不需要编写 heightForRowAtIndexPath 。
答案 1 :(得分:-1)
Irfan's answer对我不起作用。
我去大小检查员后检查"自动" for" Row Height"。
答案 2 :(得分:-3)
您还应该实施heightForRowAtIndexPath
:
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
return // Calculate your custom row height here.
}