2010-01-06 2 views

Répondre

0

Est-ce que la fonction de l'aide:

// Allows customization of the target row for a particular row as it is being moved/reordered 
- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath;    

Il ne semble pas tirer jusqu'à ce que la cellule a été traîné à mi-chemin dans une autre cellule, cependant. C'est la seule indication que j'ai pu trouver qu'une cellule bouge.

+0

Merci pour votre réponse. À ce stade, je pense à un autre moyen, mais je ne sais pas si possibile: si je pouvais accéder à la sous-vue drag handle peut-être je pourrais joindre une notification à l'UIView tap et changer la cellule sur cet événement. La documentation ne dit rien sur la façon d'accéder ou de changer la poignée de glissement, mais il me semble étrange qu'aucun événement ne soit émis lorsque la cellule commence à glisser. – ggould75

+0

Cela pourrait fonctionner. Parcourez les sous-vues de TableViewCell pour déterminer lequel est le contrôle de glissement, puis dérivez une nouvelle classe TableViewCell dans laquelle se trouve un nouveau contrôle de capture (un de vos propres moyens), puis surfez sur son gestionnaire touchesmoved. C'est beaucoup de travail mais ça marcherait vraiment. Il semble étrange qu'il n'y ait pas d'événement onMoveStarted, mais je ne peux pas en trouver un. – justin

+0

En fait, cela pourrait être plus facile que cela. Il existe un éditeur d'éditionAccessoryView Créez votre propre vue et les cellules d'affichage de table editingAccessoryView définies sur cette vue. Ensuite, votre vue peut détecter le contact et envoyer une notification à la cellule. – justin

Questions connexes