2

我正在尝试使用动画和自定义表格部分标题 UIViews 从 UITableView 中删除一个部分。

我用...

//Deletion from my model done here (not shown) and then perform the deleteSections...
[self.tableView beginUpdates];
[self.tableView 
  deleteSections:[NSIndexSet indexSetWithIndex:index]
  withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];

当我使用提供部分标题时,这很好用

tableView:titleForHeaderInSection:

但是当我使用提供我自己的自定义标头时

tableView:viewForHeaderInSection:

它会删除所需的部分并将其下方的所有部分向上移动。我认为正在发生的是它在删除动画之前要求新的自定义标题。所以它动画化了desiredRow+1的移除。

我最终将每个部分都上移了一个,底部有一个空白部分。

如果我滚动到表格的底部,然后回来再次正确找到这些部分。

我不认为这是我可以解决的问题。使用自定义节标题删除 Apple 的代码处理节似乎是一个问题。通常先责备自己是个好主意:)。我使用相同的逻辑来查找我的自定义部分标题与 NSString 部分标题的模型对象,所以我看不出它是如何与我的代码有关的问题。

任何人都知道如何解决这个问题,或者我应该重新考虑我对部分的使用吗?

4

1 回答 1

0

我解决了这个问题,调用 reloadSections:atIndexPath: 这是一种方法。其他方式:重新加载表(您可能会丢失动画)在 u 标题视图中使用获取控制器和一些属性。当你删除一个对象获取控制器可以为你重新加载部分。

于 2011-05-29T12:54:58.020 回答