Слишком большой contentSize у UITableView

У меня есть UITableView, которую я добавляю на View через код:

let tableView: UITableView = {
    let tableView = UITableView(frame: .zero, style: .insetGrouped)
    tableView.isScrollEnabled = false
    tableView.backgroundColor = .clear
    tableView.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    tableView.register(UITableViewCell.self, forCellReuseIdentifier: PresentedView.cellID)
    return tableView
}()

В этой таблице всего 2 ячейки (обе по 44 поинта), а размеры хедера и футера равны 0. У меня перегружен метод layoutSubviews(), который должен подгонять размер таблицы под ее содержимое:

override func layoutSubviews() {
    super.layoutSubviews()
    tableView.snp.updateConstraints { make in
        make.height.equalTo(self.tableView.contentSize.height)
    }
}

Так вот при появлении этой вьюхи, когда срабатывает layoutSubviews(), высота таблицы почему-то равна 158 поинтов, и явно больше той, что мне нужна: Бордовый цвет — backgroundColor у tableView

Но когда я сам вызываю layoutSubviews(), то размер приходит в норму и становится равным 88 поинтам: Вот тут размер таблицы стал нормальным

Можно ли как-то сделать, чтобы размер таблицы правильно подстраивался под содержимое при загрузке, или мне самому уже на появившейся вьюхе надо будет обновлять размер?


Ответы (0 шт):