在滚动

时间:2018-03-11 18:11:44

标签: ios swift uitableview

我正在生成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

1 个答案:

答案 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。