2012-02-14 3 views
0

Je vois cela utilisé beaucoup mais je ne suis pas sûr de ce qu'il fait.Que signifie "animé" et/ou utilisé?

animated:YES 

ou

animated:NO 

Par exemple, dans une méthode viewDidLoad je pourrais avoir ce code

self.tableView.allowsSelectionDuringEditing = YES; 

et dans un viewWillAppear je pourrais avoir ce code

// some code here, and/or acondition is met, therefore put the tableview in editing mode 

[self setEditing:YES animated:NO]; 

Alors encore une fois, ce qui est animated:NO signifie? Et quelle est la différence entre animated:NO et animated:YES? Je ne vois pas de différence visible et/ou fonctionnelle dans mon application.

Répondre

2

iOS peut animer de nombreuses modifications aux éléments de l'interface utilisateur à l'écran. Par exemple, si vous ouvrez l'application Paramètres sur un iPhone ou un iPod, puis appuyez sur la ligne Luminosité, la page Luminosité glissera sur l'écran sur environ 0,25 seconde, au lieu de remplacer instantanément la page Paramètres principale. Ceci est un changement animé à l'interface utilisateur. Cette animation particulière se produit lorsque vous envoyez le message pushViewController:animated: à un UINavigationController avec le paramètre animated défini sur YES.

Dans le cas du message setEditing:animated:, vous pouvez voir un exemple de modification animée en ouvrant l'application Téléphone, en sélectionnant l'onglet Récents et en appuyant sur le bouton Modifier. Toutes les lignes glissent vers la droite, cachant les boutons de divulgation et révélant les boutons de suppression. Cette modification est animée sur environ 0,25 seconde car le paramètre animated du message était YES. Si le paramètre animated était NO, les lignes changeraient instantanément pour afficher les boutons de suppression et ne pas afficher les boutons de divulgation.

+0

Bonne réponse, merci pour l'explication détaillée! PS - deux questions vient à l'esprit, est le '.25' secondes réglable? Et cela a-t-il quelque chose à voir avec 'UITableViewRowAnimationFade'? Je me demandais ... – ElasticThoughts

+1

Vous pourriez changer les .25 secondes en utilisant '+ [CATransaction setAnimationDuration:]' ou '+ [UIView animateWithDuration: animations:]', mais je ne l'ai pas essayé. Vous utilisez la constante 'UITableViewRowAnimationFade' comme paramètre' animation' dans des messages comme 'deleteRowsAtIndexPaths: withRowAnimation:'. –

+0

Merci encore Rob! – ElasticThoughts