内容不一致的情况下提高UITableViewCell的性能

时间:2018-08-17 07:38:39

标签: ios swift uitableview autolayout uistackview

我有一个UITableView,其单元格包含动态内容。

让我们说一下,单元格内容可能有三种类型(实际上,还有更多种类型。)

Type1:3个UILabel堆叠在一起

Type2:2个UIButtons并排放置

Type3:1 UISlider我在中心

我有这些UI元素的类。

在我的cellForRowAtIndexPath中,将它们添加到contentView

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  let cell = tableView.dequeueReusableCell(withIdentifier: cellID)!
  cell.contentView.subviews.forEach { $0.removeFromSuperview() } // Remove everything before adding new stuff       
  cell.contentView.addSubview(Type3())  // Pretend there's logic here to decide whether to use Type1, Type2, or Type3
  return cell
}

这目前可以使用,但显然很hacky,并不优雅。我该怎么办?

0 个答案:

没有答案