[英]Swift Don't work auto heigh in custom cell
只是自定義類的單元格
class CarCell: UITableViewCell {
override func layoutSubviews() {
MainImageView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: spacing * 5).isActive = true
MainImageView.topAnchor.constraint(equalTo: self.topAnchor, constant: spacing).isActive = true
MainImageView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -spacing * 5 ).isActive = true
MainImageView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: -spacing).isActive = true
MainImageView.heightAnchor.constraint(equalTo: MainImageView.widthAnchor).isActive = true
}
不工作2底線。
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(CarCell.self, forCellReuseIdentifier: "CarCell")
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44
}
我可以創建這個非程序化的東西,我需要這個結果
嘗試以下代碼,我認為您缺少此代碼
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(CarCell.self, forCellReuseIdentifier: "CarCell")
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44
tableView.delegate = self
tableView.datasource = self
}
找到了解決方案!!! 當添加約束時需要:使用self.contentView
MainImageView.leftAnchor.constraint(equalTo: self.leftAnchor
,常數:間距* 5).isActive = true
只需更改為
MainImageView.leftAnchor.constraint(equalTo: self.contentView .leftAnchor
,常數:間距* 5).isActive = true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.