2012-03-18 35 views
4

拖动UITableViewCell时,会调用委托方法- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath。在这个委托方法中,我可以根据它的proposedDestinationIndexPath设置所选单元的属性。如何在重新订购期间更新UITableViewCell

我的问题是现在如何在移动它的过程中更新单元格内容。我可以在释放移动手柄后更新单元格,但我需要显示更新的值,同时根据其位置(proposedDestinationIndexPath)向下移动&。

有没有人有一个想法如何实现这一目标?

+0

谢谢@Flex_Addicted。 是我的第一篇文章Stackoverflow ...将关注格式化在未来的职位。 – 2012-03-18 17:33:22

+0

没问题。别客气。 – 2012-03-18 20:20:45

回答

3

您可以更改tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:中的单元格内容。

但是,如果你没有真正尝试的细胞移动到新的indexPath这种方法不叫。所以如果你只是上下移动一些像素,你不能改变你的文本。但我想你不应该那样做。

+1

谢谢你的快速回答。我想要实现的是一个根据嵌套层次具有缩进的分层列表。因此,移动单元格应该更新缩进,并在选定的单元格中(移动时实时)更新图标(表示单元格是否为带有子节点或仅有子节点的子节点)。有一个名为“大纲”的应用程序可以做到这一点...所以它必须以某种方式成为可能。 – 2012-03-18 17:10:40

+0

我不需要根据像素位置进行更新,但取决于SuggestedDestinationIndexPath。因此,我使用委托方法'tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:'来设置单元格上的属性。该单元格在移动时不反映更新的属性。我尝试过'setNeedsDisplay',但它不更新。 – 2012-03-18 17:15:04

+0

也许你可以告诉我们你的代码targetIndexPathForMoveFromRowAtIndexPath。我只是尝试了Matthias的解决方案,并能够在移动到不同的SuggestedDestinationIndexPath时修改单元格内容。 – 2012-03-18 21:32:38