我正在生成tableView,其中单元格由stackView组成。一切都很好,但第一部分的第一行在滚动之前有错误的高度。我正在使用cell.selectionStyle = .none
并在滚动之前在错误的单元格中选择.default。如何解决?
DispatchQueue.main.async{
self.tableView.setNeedsLayout()
self.tableView.layoutSubviews()
self.tableView.layoutIfNeeded()
self.tableView.reloadData()
}
^在viewDidLoad()
中。它没有影响
还尝试了cell.layoutIfNeeded(),仍然没有。
单元格高度为UITableViewAutomaticDimension
答案 0 :(得分:1)
了解了get
之后,我实现了:
所有多行UITableViewAutomaticDimension
都必须具有指定的值,然后才能重新使用单元格。可以通过使用UILabel
方法为单元格类中的每个label.text提供nil
或仅给空白字符串(""
)值来轻松实现。
示例:
awakeFromNib()
用多行标签表示class HeaderTeacherTableViewCell: UITableViewCell {
@IBOutlet weak var multilineLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
multilineLabel.text = nil
}
}
,行数为0。