在删除滑动时调整UITableViewCell高度

时间:2013-04-26 04:23:58

标签: ios objective-c uitableview

我有UITableViewCell基于文字内容的动态高度。在tableview:heightForRowAtIndexPath:中计算高度。这很有效。

当单元格使用editingStyle UITableViewCellEditingStyleDelete进入编辑模式时,它会稍微缩小单元格并将某些内容推出,导致rowHeight更改。再次这很好用,因为将tableview切换为编辑会导致表重新布局,因此会重新计算rowHeight。

单击红色按钮或滑动单元格时,单元格右侧会出现“删除”按钮。但是,这不会触发表的重新布局,只会触发单元本身。这里的问题是,如果内容越过底部边缘,则单元格不会调整大小。

当删除按钮出现时,有没有办法触发表格的重新布局?

1 个答案:

答案 0 :(得分:1)

一般来说,UITableViewCell的高度只能通过tableview:heightForRowAtIndexPath:设置,后一种方法只能在tableView:cellForRowAtIndexPath:之前调用一次(每个部分每行),所以你必须{ {1}}如果想调整UITableViewCell高度。

也许你可以在这些委托方法中做点什么

[tableview reloadData]

对于您的问题,您可以在自定义UITableViewCell中重置// The willBegin/didEnd methods are called whenever the 'editing' property is automatically changed by the table (allowing insert/delete/move). This is done by a swipe activating a single row - (void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath; - (void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath; 处文本控件的属性。

- (void)layoutSubviews

希望这些能帮到你。