【问题标题】:Recalculating height of custom UITableViewCell when Delete button appears出现删除按钮时重新计算自定义 UITableViewCell 的高度
【发布时间】:2011-11-06 14:22:57
【问题描述】:

我创建了一个包含多行标签的 UITableViewCell 子类。在 TableViewDelegate 中,我重写 -setEditing: 以在圆形删除小部件可见时重新计算具有缩短宽度的标签的高度。到目前为止,这有效。

但是,当点击此圆形小部件并出现“删除”按钮时,单元格似乎被重新布局(标签变得不那么宽),但未重新计算单元格的高度。在-heightForRowAtIndexPath: 中设置断点表明通过点击圆形小部件/出现的新按钮不会触发此类事件。在这种情况下,如何让我的 tableView 重新计算单元格的高度?

【问题讨论】:

    标签: ios uitableview


    【解决方案1】:

    尝试这样的空更新块:

    [self.myTable beginUpdates];
    [self.myTable endUpdates];
    

    它会更新行高(除了其他东西)。

    【讨论】:

    • 是的,但我的问题是在描述的情况下何时调用它。
    • 也许这是另一个问题:当删除按钮出现时,表格视图单元格及其所有子视图都会根据其在 InterfaceBuilder/Xcode 中的自动调整大小行为自动调整大小。您可以在此处对其进行调整以使其保持原位。
    • 是的。标签确实会调整大小,例如当我滑动一条线以使删除按钮出现时。但是,发生这种情况时,它所在的单元格不会调整大小,因此标签的文本可能会被向下推到单元格的边框下方。
    • 我希望 TableView 在出现此按钮时以及在标签自动调整大小后重新评估单元格高度。这似乎不会发生。另一方面,我目前使用检查tableView:heightForCellForName 中的editing=YES 并添加一个常量的拐杖。然而,这对定位不利,并且会改变所有单元格的高度,即使只滑动了一个单元格并且没有向其他单元格添加新元素。所以我仍在寻找更好的解决方案。
    猜你喜欢
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多