我已经实现了一个带有节标题的tableView,可以在点击时展开单元格。它几乎只是节标题上的一个大按钮,按下它时我会计算需要删除哪些单元格,然后调用:
[tableView beginUpdates];
//delete necessary cells
[tableView endUpdates];
我的问题在于动画。当你打开一个部分然后打开另一个部分或关闭相同的部分而不必滚动tableView时,它工作正常。但是如果你最终滚动表格视图然后打开另一个,那么就会发生一件非常奇怪的事情。其中一个标题滑动到屏幕底部,然后返回到它的位置。对于动画,我只调用deleteRowsAtIndexPathsWithAnimation
和相反的插入方法与自动tableView动画类型。有人知道为什么会这样吗?
有一个名为TVAnimationsGestures的苹果示例代码(如果你只是搜索tableview它会出现)与我的程序做的事情相同。如果你想更深入地看到代码和问题,你应该检查一下。
谢谢,
答案 0 :(得分:0)
要检查的一件事是您在numberOfSectionInTableView和numberOfRowsInSection中返回的值。
我认为当tableview必须滚动它时会调用这些方法,所以如果你回到tableView中的行数不匹配,就会发生奇怪的事情。
因此,请确保在删除行时还更新了返回的部分中的行数。