我有一个UITableViewCell。在单元格内部,我有 UILabel 和 UIButton ,当用户点击按钮时,文本展开但单元格没有。所以我希望细胞用标签增加它的高度。
我试过这段代码,但它给了我一个崩溃(意外地发现没有)
tableView.reloadRows(at: [IndexPath(row: 0, section: 0)], with: .fade)
也尝试了这个,再次崩溃
tableView.rowHeight = cellHeightNumber
所以基本上我希望它像这样工作
展开前:
扩展后:
答案 0 :(得分:0)
我可以给你两个解决方案:
抛弃reloadRows
并改为使用reloadData
,如下所示:tableView.reloadData()
将reloadRows
包裹在beginUpdates
和endUpdates
之间,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
tableView.beginUpdates()
// Your reloadRows codes here
tableView.endUpdates()
}
答案 1 :(得分:0)
你应该使用
UITableViewAutomaticDimension
提供了显示动态内容的解决方案。 在viewDidLoad中使用以下代码:
tableView.estimatedRowHeight = YourTableViewHeight tableView.rowHeight = UITableViewAutomaticDimension
使用此链接: http://www.appcoda.com/self-sizing-cells/
还为表格单元格中的标签设置第0行的编号。
希望它有所帮助。 :)