添加子视图后,UITableViewCell不会调整大小

问题描述 投票:0回答:1

我有一个UITableView,我设置为根据内容动态增长,通过设置:

tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension

我的UITableView包含一个headerView和bodyView,我在设置后插入了其他子视图。

我使用以下rx设置我的单元格:

viewModel
   .map { $0.cellViewModels }
   .bind(to: tableView.rx.items(cellIdentifier: "MyCell", cellType: MyCell.self)) { [unowned self] (row, viewModel, cell) in
        cell.viewModel = viewModel
        // Tried adding the following with no luck:
        self.tableView.beginUpdates()
        self.tableView.endUpdates()
   }
   .disposed(by: disposeBag)

单元格的viewModel调用是一个带有didSet的setup()方法,如下所示:

var viewModel: CellViewModel? {
    didSet { setup() }
}

在我的设置中,我根据一些其他因素向我的单元格的bodyView添加子视图。即我可以添加图片,一些文字等。

问题是,当我将我的子视图添加到我的单元格的bodyView时,单元格的高度保持在xib中的原始高度,而不是在该点调整大小以适应新视图。我在添加子视图后尝试调用self.layoutIfNeeded(),但没有运气。添加子视图后如何调整单元格大小?

ios swift uitableview rx-swift
1个回答
1
投票

您可以拨打tableView.beginUpdates(),然后拨打tableView.endUpdates()电话。中间没有任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.