Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios “删除”按钮出现时重新计算自定义UITableViewCell的高度_Ios_Uitableview - Fatal编程技术网

Ios “删除”按钮出现时重新计算自定义UITableViewCell的高度

Ios “删除”按钮出现时重新计算自定义UITableViewCell的高度,ios,uitableview,Ios,Uitableview,我创建了一个包含多行标签的UITableViewCell子类。在TableViewDelegate中,我覆盖了-setEditing:,当圆形删除小部件可见时,用缩短的宽度重新计算标签的高度。到目前为止,这是可行的 但是,当点击此圆形小部件并显示“删除”按钮时,单元格似乎会重新显示(标签变宽),但不会重新计算单元格的高度。在-heightforrowatinexpath:中设置断点表明,点击圆形小部件/出现的新建按钮不会触发此类事件。在这种情况下,如何使我的tableView重新计算单元格高度?

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


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

尝试这样的空更新块:

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

它会更新行高(除其他内容外)。

是的,但我的问题是在所描述的情况下何时调用它。可能是另一个问题:当“删除”按钮出现时,表格视图单元格及其所有子视图都会根据其在InterfaceBuilder/Xcode中的自动调整大小行为自动调整大小。你可以在那里调整它,使它保持原位。是的。标签确实会调整大小,例如,当我滑动一行以显示“删除”按钮时。但是,发生这种情况时,它所在的单元格不会调整大小,因此标签的文本可能会被压到单元格边框下方。我希望的是,在出现此按钮和标签自动调整大小后,TableView会重新评估单元格高度。这似乎没有发生。另一方面,我目前使用检查tableView:heightForCellForName中的editing=YES并添加一个常量。然而,这不利于定位并改变所有单元格的高度,即使只扫过一个单元格,并且没有向其他单元格添加新元素。所以我仍然在寻找更好的解决方案。