我正在尝试使用动画和自定义表格部分标题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节标题的模型对象,所以我看不出它是如何成为我的代码的问题。
任何人都知道如何解决这个问题,还是应该重新考虑我对部分的使用?
答案 0 :(得分:0)
我解决了这个问题,调用reloadSections:atIndexPath: 这是一种方式。 其他方法 : 重新加载表(你可能会松动动画) 在u标题视图中使用fetch控制器和一些属性。当你删除一个对象时,fetch控制器可以为你重新加载部分。