如何在编辑模式下重新格式化自定义UITableViewCell以适应删除控件?

我有一个自定义的UITableViewCell,其中包含显示可变数量的文本的UILabel。 单元格的高度是dynamic计算的,以适应文本的数量。

问题是UILabel /文本在编辑模式(删除)期间没有被重新格式化,如以下屏幕截图所示。

我需要使用自定义的单元格而不是标准的textLabel等,因为其他行有更复杂的情况下w /多个控件相比,这个w /只有一个单一的UILabel。

a)这里是UILabel控件的表格单元格。 每个单元格的高度是根据文本数量dynamic计算的。

编辑之前

b)编辑模式开始时,会显示编辑控制(红圈),将文本从屏幕的右侧推开。

编辑控件显示,文本关屏

c)然后,当select一个编辑控件并显示删除button时,它将重叠文本。

删除按钮覆盖文字

目标是让文本区域(UILabel框架)减小宽度,并增加高度以适应编辑开始“b)”时的所有文本。 当“删除”button显示“c”时,文本高度将保持不变,并且不合适的文本可以被截断,并且显示省略号“…”。

这应该可以通过确保您将UILabel添加到UITableViewCell的contentView,并且您已经在UILabel上正确设置了自动resize掩码来实现。 你已经试过了吗?