如何在编辑时增加行(单元格)的大小,与添加新联系人时相同(文本字段的高度随着我们输入更多文本而增加)[![field into contact] [1]] [1]
中的标签 我正在谈论一个单细胞,我已经看到很多与此相关的问题,但没有一个是快速的,我的主要语言很快,所以我无法弄清楚如何处理这个,但我试过这个: - tableView.rowHeight = UITableViewAutomaticDimension;
tableView.estimatedRowHeight = 44;
但它在编辑时不起作用然后我试图在我的tableView单元格中的textView中获取内容的大小,并根据textView的内容大小调整tableView单元格的大小: -
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
tableView.rowHeight = UITableViewAutomaticDimension;
tableView.estimatedRowHeight = 44;
return txtViewDescription.contentSize.width
}
但它增加了所有单元格的大小而在编辑textview时没有做任何事情,我知道正在尝试的不是正确的方法,如果有人知道我怎么能处理这个,那么请指导我它会非常对我有帮助:)如果我的问题不够明确,请让我知道我会解决它
答案 0 :(得分:0)
你走在正确的道路上。
您无需一直设置tableView.rowHeight = UITableViewAutomaticDimension;
和tableView.estimatedRowHeight = 44;
- 您可以在初始设置时执行一次(可能是viewDidLoad
。
您需要做的事情如下所示。
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath == indexPathOfCellBeingEdited {
txtViewDescription.contentSize.width
} else {
return 44
}
}
基本上这个函数将为每一行调用一次,因此在决定是否返回计算高度的默认高度之前,您需要查看您所在的行。
为了强制tableView重新计算您可能需要调用的行的高度
tableView.beginUpdates()
tableView.endUpdates()