【问题标题】:Resizing UITableViewCells when a UITableView enters editing mode当 UITableView 进入编辑模式时调整 UITableViewCells 的大小
【发布时间】:2011-11-04 15:13:26
【问题描述】:

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

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

【问题讨论】:

    标签: iphone uitableview


    【解决方案1】:

    您可以覆盖-setEditing:animated 方法并在其中进行任何必要的设置。

    【讨论】:

    • 是的,在那里调用[self.tableView beginUpdates]; [self.tableView endUpdates]; 成功了,并导致tableView 再次查询高度。
    猜你喜欢
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多