Existe-t-il un moyen d'animer l'activation ou la désactivation d'un bouton? J'ai essayé ce qui suit sans succès. Je devine à ce stade que la propriété activée ne peut pas être animée comme l'opacité peut - mais j'espère que je me trompe. Je ne peux pas croire qu'il n'y a pas une méthode setEnabled:(BOOL)enabled animated:(BOOL)animated
.Animer l'activation d'un UIBarButtonItem?
Répondre
Les propriétés animables (via UIView beginAnimations: context :) sont: frame, bounds, center, transform, alpha (à partir de docs Apple).
Vous avez pour déterminer exactement ce que l'animation est (en termes de couleur/alpha/transformer les animations) et créer une animation manuelle (peut-être vous devrez utiliser CAAnimation au lieu de UIView beginAnimations: contexte :)
Vous pouvez décomposer l'activation/la désactivation d'un bouton en un changement d'opacité entre deux images superposées dans un état ou dans l'autre (c'est-à-dire faire ressembler à un fondu entrant/sortant). Dans le gestionnaire d'achèvement d'animation, vous pouvez effectuer l'activation/désactivation de la bascule.
est ici une idée :)
Au sein de votre bloc d'animation, supprimer le bouton de la vue et l'ajouter à nouveau avec l'état désactivé. Vous pouvez spécifier quel type d'animation vous voulez ici.
Je ne vois pas quelle méthode je pourrais utiliser pour supprimer un UIBarButtonItem de la vue. De plus, cela ne ferait-il pas disparaître le bouton dans le cadre de l'animation? –
Set: self.buttonSetEvent.customView.alpha = 0.2;
et essayer
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDuration:0.15];
[UIView setAnimationRepeatCount:2];
[UIView setAnimationRepeatAutoreverses:YES];
self.buttonSetEvent.customView.alpha = 1;
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
Cela ne fonctionne que si "self.buttonSetEvent" (et d'où vient ce nom de variable?) A été créé avec une vue personnalisée. – taxilian
Ceci est en fait très simple. UIView.transitionWithView
peut prendre un instantané de n'importe quelle vue et effectuer une dissociation croisée entre l'instantané et le nouvel état de la vue. Vous pouvez utiliser cette fonctionnalité pour animer de nombreux changements, y compris enabled
.
Utilisez simplement la vue View Controller comme vue cible, spécifiez TransitionCrossDissolve
, puis animez comme vous le feriez normalement.
UIView.transitionWithView(self.view,
duration: 0.5,
options: UIViewAnimationOptions.TransitionCrossDissolve,
animations: {() -> Void in
self.someButton.enabled = !self.someButton.enabled
}, completion:nil)
Si vous modifiez l'un des éléments du bouton de la barre de votre élément de navigation, essayez de passer 'navigationController.navigationBar' comme vue, plutôt que' self.view'. –
- 1. Inactive UIBarButtonItem
- 2. Changer les couleurs UIBarButtonItem
- 3. UIBarButtonItem persistant dans UINavigationBar?
- 4. Modifier la couleur UIBarButtonItem
- 5. UIToolbar UIBarButtonItem Alignement question
- 6. Comment désactiver UIBarButtonItem?
- 7. UIBarButtonItem Non affiché
- 8. UIBarButtonItem ne fonctionne pas
- 9. Remplacer UIBarButtonItem avec UIActivityIndicatorView
- 10. Animer jquery
- 11. Animer nsmenuitem
- 12. JQuery Animer
- 13. Animer feuilleter?
- 14. Animer removeFromSuperview
- 15. Animer jQuery()
- 16. Animer UITextViews
- 17. UIBarButtonItem: sélectionné/désélectionné un article
- 18. Comment faire un UIBarButtonItem 'lueur'?
- 19. UIBarButtonItem ne se présente pas
- 20. iPhone UIBarButtonItem setEnabled dans NSThread
- 21. Transformer (faire pivoter) un UIBarButtonItem
- 22. Comment faire une animation UIBarButtonItem?
- 23. animer l'opacité, insérer le html, animer l'opacité dans
- 24. CATransaction ne pas animer
- 25. Animer Rotating UIImageView
- 26. Animer plusieurs UIButtons
- 27. jquery Animer - mort simple
- 28. animer swf externe
- 29. Comment animer des vues?
- 30. jQuery Animer position de
Aucune de ces propriétés ne s'applique à UIBarButtonItem, qui n'hérite pas de UIView. –
Vous avez raison. Mais UIBarButtonItem peut contenir customView qui est animable. – bealex