是因为在重新加载行时,TableViewCell的大小是根据先前的布局和约束来确定的。如果在重新加载行后,TableViewCell的内容发生了变化,但是布局和约束没有相应地更新,那么TableViewCell的大小就不会调整。
为了解决这个问题,可以采取以下步骤:
layoutIfNeeded()
方法来强制重新布局。tableView(_:heightForRowAt:)
中返回UITableView.automaticDimension
,并在TableViewCell中设置合适的布局和约束,以便自动计算行高。tableView(_:reloadRowsAtIndexPaths:with:)
方法来重新加载行,而不是整个表格视图。这样可以避免重新计算所有行的高度,只更新需要重新布局的行。总结起来,解决TableViewCell不会调整大小的问题,需要确保在重新加载行之前更新布局和约束,并考虑使用自动计算行高的功能。如果问题仍然存在,可以尝试局部刷新行而不是整个表格视图。
领取专属 10元无门槛券
手把手带您无忧上云