删除UITableView部分与自定义部分标题相结合UIViews = Apple代码中的错误?

时间:2009-09-25 05:37:21

标签: iphone objective-c uitableview core-animation nsindexset

我正在尝试使用动画和自定义表格部分标题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节标题的模型对象,所以我看不出它是如何成为我的代码的问题。

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

1 个答案:

答案 0 :(得分:0)

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