当UITableView进入编辑模式时调整UITableViewCells的大小

时间:2011-11-04 15:13:27

标签: iphone uitableview

我为我的应用程序创建了一个MultilineCell,它首先显示一个由1-n行文本组成的UILabel,另一个显示另一个带有单行文本的UILabel。 要处理相应的UITableView进入编辑模式,我在覆盖的-layoutSubviews中检查self.editing并相应地调整尺寸。这将捕获左侧的删除旋钮和/或右侧的删除按钮可能导致的布局中的所有更改。

但是:有时,编辑模式下的其他小部件会导致多行标签中的文本以添加新行的方式换行。当我开始调整-heightForTableRowAtIndexPath:以编辑模式处于活动状态时以不同方式计算高度时,我注意到当tableView的编辑模式发生变化时,根本不会调用-heightForTableRowAtIndexPath:。进一步研究UITableViewDelegate,我只发现了处理各行编辑的方法。但是我正在寻找的是当UITableView作为一个整体进入或离开编辑模式时被通知的方式,所以我可以调用-setNeedsLayout,以便表再次查询各个单元格的高度。

1 个答案:

答案 0 :(得分:1)

您可以覆盖-setEditing:animated方法,并在那里进行必要的设置。