我想创建一个这样的视图来显示一些长文本。为此得到了一些豆荚,但我想以编程方式进行。
提前致谢。
第一张图片 -> 点击前的视图。
第二张图片->点击后查看。
如果您需要一个快速工作的解决方案,您可以试试这个。
创建一个带有两个标签的 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]
}
注意:这只是一种解决方法,可以为您提供几乎相同的结果,但有一些生涩的动画。