以编程方式在Swift中创建自定义UITableViewCell

时间:2017-12-04 04:52:40

标签: uitableview

我需要一个带有标签的单元格,它占用整个contentView。我用笔尖做了很多次但是这次我决定避免创建一个笔尖。以下是我的代码。

class StackLegendCell: UITableViewCell {

  var title = UILabel()

  override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
    super.init(style: style, reuseIdentifier: reuseIdentifier)

    contentView.addSubview(title)

    title.numberOfLines = 1
    title.textAlignment = .center
    title.setContentCompressionResistancePriority(1000, for: .horizontal)
    title.setContentHuggingPriority(1000, for: .horizontal)
    title.text = "??"
    //contentView.translatesAutoresizingMaskIntoConstraints = false

    title.widthAnchor.constraint(equalTo: contentView.widthAnchor, multiplier: 1.0).isActive = true
    title.heightAnchor.constraint(equalTo: contentView.heightAnchor, multiplier: 1.0).isActive = true
  }

问题是标签没有显示任何内容。检查视图调试器显示width = height = 0.但是我设置了高度和宽度锚点,它应该给出一个与contentView相同的大小。

我错过了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

最后,我找到了解决方案。您错过了设置titleLabel的框架

title.frame = contentView.frame

添加这行代码并构建。这应该有用。