我想在textlabel和detailtextlabel中为UITableview中的单元格管理长文本,因为如果textlabel有一个长文本,则详细的textlabel截断为" ..."反之亦然。
问题在于:
所以我想知道是否有办法管理textlabel和detailtextlabel之间的空间,因此没有截断并给它们更多的行。我尝试过:
...
if tableData[indexPath.row].clave.count > 6 {
cell?.detailTextLabel?.numberOfLines = 5
cell?.textLabel?.numberOfLines = 5
} else {
cell?.detailTextLabel?.numberOfLines = 1
}
cell?.textLabel?.text = nueva_cadena_string
cell?.detailTextLabel?.text = tableData[indexPath.row].clave
cell?.textLabel?.textColor = UIColor.brown
cell?.textLabel?.font = UIFont.boldSystemFont(ofSize: 15.0)
cell?.textLabel?.lineBreakMode = .byWordWrapping
return cell!;
但它不能很好地工作,它似乎只给它们2行,而不是5行,我不能改变textlabel和detailtextlabel的宽度。
答案 0 :(得分:0)
尝试将tableviews行维度设置为自动
yourTableView.rowHeight = UITableViewAutomaticDimension
yourTableView.estimatedRowHeight = 80.0
尝试将两个文本标签在故事板或代码中的行数设置为0,因为它们都将具有所需的行数。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以继承UITableViewCell
并覆盖layoutSubviews()
方法。您需要更改textLabel
和detailTextLabel
的布局。请记住,这些元素位于contentView
内,而不是单元格本身。
但最好在故事板上添加两个自定义标签,并根据需要进行配置。这很容易。