我有一个TableViewController,在标识符“ customCell”下有一个自定义TableViewCell。以下是该单元以及与其连接的IBOulet的配置图像:
该单元从我的后端获取信息并提出。描述文本视图(只是注意到我不小心将其命名为descriptionLabel)不允许滚动,因此它会根据其持有的内容进行扩展。正在从数据库正确处理数据库,并且该数据库正在应用程序上显示。 唯一的问题是单元格的高度不正确。在通过其标识符注册该单元格的TableViewControl上,我使用heightForRow中的UITableViewAutomaticDimension自动设置了单元格的高度:
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
但这也不起作用。 *唯一有效的方法是将每个单元格的高度设置为标准值(例如200)。这对我不起作用,因为由于textView的长度,每个单元格的高度都不同。
如何设置自定义笔尖(tableViewCell)的高度,以使其根据其内容进行调整,而不是将高度设置为特定值?
答案 0 :(得分:0)
1-删除两个textViews并将其替换为标签
2-具有论文约束的标题lbl top,leading,trailing,.lines = 0
3-具有这些约束的描述lbl 底部,前导,后退到contentView,标题lbl到顶部,.lines = 0
当然,您可以保留2个textview,但是必须为每个textview设置一个初始高度,然后在
中执行此操作override func layoutSubviews() {
super.layoutSubviews()
self.titleTvHeight.constant = self.titleTv.contentSize.height
self.desTVheight.constant = self.desTv.contentSize.height
}
//
不要忘记在VC的viewDidLoad
中进行设置
tableView.estimatedRowHeight = 200
tableView.rowHeight = UITableViewAutomaticDimension
无论如何您都可以删除heightForRowAt