contentView全体を占めるラベルが付いたセルが必要です。私はペン先でこれを何度もやったことがあるが、今回はペン先の作成を避けることに決めた。以下は私のコードです。SwiftでカスタムUITableViewCellをプログラムで作成する
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と同じサイズにする必要がある高さと幅のアンカーを設定しています。
私には何が欠けていますか?
ありがとうございました。
このメソッドの最後の位置に 'contentView.addSubview(title)'を追加してみてください。 –
それは動作しません。実際には、制約を設定するときに既存の関係がなければならないため、クラッシュが発生します。 – Phantom59