如何解决根据其内容扩展表格视图单元格高度/
我在单元格上有 2 个标签。如果标签仅显示一行文本,则该单元格看起来不错。但是,如果有更多文本并且标签上的行被包裹,则其上的标签/文本会超出单元格。附上图片。
我当前的代码:
func tableView(_ tableView: UITableView,heightForRowAt indexPath: IndexPath) -> CGFloat {
return 68.0
}
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Code to dequeue reusable cell.
self.titleLabel.text = "This is a very very long text for the title label. Testing testing"
self.subTitleLabel.text = "This is a very very long text for the sub title label. Testing testing the wrapping"
self.titleLabel.sizetoFit()
self.titleLabel.layoutIfNeeded()
self.subTitleLabel.sizetoFit()
self.subTitleLabel.layoutIfNeeded()
}
我尝试修复的解决方案:
func tableView(_ tableView: UITableView,heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Code to dequeue reusable cell.
self.titleLabel.text = "This is a very very long text for the title label. Testing testing"
self.subTitleLabel.text = "This is a very very long text for the sub title label. Testing testing the wrapping"
self.titleLabel.sizetoFit()
self.titleLabel.layoutIfNeeded()
self.subTitleLabel.sizetoFit()
self.subTitleLabel.layoutIfNeeded()
}
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.estimatedRowHeight = 500
self.tableView.rowHeight = UITableView.automaticDimension
}
解决方法
-
将行数设置为零。 应用适当的约束。
-
第二种解决方案 将标签放在 stackView 中,两个标签的行数都为零。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。