I have this code in tableviewdidSelectRow :
我在tableviewdidSelectRow中有这个代码:
[tableView beginUpdates];
[tableView insertSections:[NSIndexSet indexSetWithIndex:tableView.numberOfSections] withRowAnimation:UITableViewRowAnimationFade];
[tableView moveRowAtIndexPath:indexPath toIndexPath:[NSIndexPath indexPathForRow:0 inSection:tableView.numberOfSections ]];
[tableView endUpdates];
After endUpdates I'm getting crash with:
在endUpdates之后我崩溃了:
cannot move a row into a newly inserted section
无法将行移动到新插入的部分中
Where is my mistake? How to create new section and move row to it with animation so ?
我的错误在哪里?如何使用动画创建新的部分并将行移动到它?
1 个解决方案
#1
0
It is better late, than never, for next generation, my solution was to use deleteRow + insertRow instead of moveRow..., like this code:
对于下一代来说,最好是迟到,而不是永远,我的解决方案是使用deleteRow + insertRow而不是moveRow ...,就像这段代码:
[self.tableView beginUpdates];
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:newSectionNum]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:oldIndexPath]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
#1
0
It is better late, than never, for next generation, my solution was to use deleteRow + insertRow instead of moveRow..., like this code:
对于下一代来说,最好是迟到,而不是永远,我的解决方案是使用deleteRow + insertRow而不是moveRow ...,就像这段代码:
[self.tableView beginUpdates];
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:newSectionNum]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:oldIndexPath]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];