2009-07-28 10 views
8

J'ai un UITableView groupé avec quelques lignes, et j'anime quelques rangées supplémentaires sur le bouton d'un bouton. Le problème est que l'un des types d'animation de ligne que j'utilise (top & en bas) l'animation semble horrible! Voici une capture d'écran mi-animation:Fonctions d'animation de lignes UITableView groupées

Example http://files.michaelwaterfall.com/images/uitableview-animation.png

est-il une raison pour laquelle il cherche si mauvais? Ou est-ce que toutes les animations groupées de vue de table semblent choquantes?

Je pense que la première ou la dernière rangée d'une section semble être si mauvaise, alors je me demande s'il n'y a pas moyen de la faire paraître un peu meilleure! Sinon, je pense que je vais juste appeler reloadData et que tout apparaîtra.

Merci pour votre aide!

Michael

+0

Je n'ai jamais eu un problème avec les animations, mais j'ai seulement utilisé le style non groupé. Je répondrai une fois que je testerai certaines choses. – TahoeWolverine

+0

On dirait que votre lien d'image n'est plus valide; Voulez-vous le télécharger vers imgur et le relier? – brandonscript

Répondre

12

Si vous supprimez, ajoutez et/ou déplacez plusieurs lignes dans un UITableView en même temps, vous devez joindre tous ces appels avec beginUpdates et endUpdates. Sinon, le résultat est indéterminé.

Par exemple:

[tableView beginUpdates]; 
[tableView insertRowsAtIndexPaths:newRows 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView deleteRowsAtIndexPaths:invalidRows: 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView endUpdates]; 
+0

Ah super, je vais essayer ça dès que possible! Merci pour votre réponse! –

0

Je ne sais pas exactement ce qui semble mauvais. Il est difficile de dire à partir d'une image statique.

Malheureusement, vous n'avez aucun contrôle sur l'animation d'insertion/suppression dans une vue de table. Tout est géré par l'API UITableView de haut niveau.

La seule autre option est d'effectuer les animations séparément et consécutivement et de voir si cela semble mieux. J'ai fait ceci pour éliminer quelques artefacts.

Essayez également différentes animations comme le fondu entrant/sortant. Pas aussi tape-à-l'œil, mais semble mieux dans certaines situations.

0

J'ai utilisé des animations dans une vue groupée sans aucun problème, et ça a toujours été génial. Que diriez-vous de partager une partie du code? Peut-être que vous faites quelque chose de mal dans la construction de la cellule ... ou bien que peu probable dans l'insertion des lignes.

+0

Bien sûr, je vais poster du code dès que je peux! –

0

Comme d'autres l'ont dit, l'envoi de code aiderait.

Est-ce que vous exécutez déjà vos multiples insertions/suppressions dans un bloc beginUpdates/endUpdates?

0

Pour référence ultérieure, s'il vous plaît voir #6931544. J'ai trouvé ces lignes arbitraires milieu de transition peut être enlevé avec ce qui suit: -

[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone]; 
Questions connexes