我想创建一个这样的视图来显示一些长文本。得到了一些pods,但我想以编程方式做这件事。
提前感谢。
第一张图片 - >点击之前的视图。
第二张图片 - >点击后查看。
答案 0 :(得分:0)
如果您需要快速解决方案,可以试试这个。
使用两个标签创建一个TableViewCell:标题标签,固定高度(比方说48)和描述标签(多线)
保持数组中每个单元格的高度,默认情况下保持标题标签的高度,只显示标题标签(例如itemHeights = [48,48,48]
当您选择单元格时,在委托方法“didSelectRowAt:”内,切换高度
if self.itemHeights[indexPath.row] == UITableViewAutomaticDimension {
self.itemHeights[indexPath.row] = 48
} else {
self.itemHeights[indexPath.row] = UITableViewAutomaticDimension
}
self.tableView.reloadRows(at: [indexPath], with: .automatic)
在委托方法“heightForRowAt:”内,返回更新后的高度
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return self.itemHeights[indexPath.row]
}
注意:这只是一种解决方法,它可以为您提供几乎相同的结果,但会产生一些不稳定的动画。