2010-12-12 37 views

Répondre

1

Si vous avez besoin d'un bouton, le choix est clair: Vous devrez créer votre propre objet personnalisé UIControl pour y parvenir. Très probablement, vous pouvez simplement sous-classer UIButton, et gérer l'animation des images de cette façon. Je fais quelque chose de similaire dans l'une de mes applications en utilisant l'animation de base pour fondre entre une série de 6 images. Cela fonctionne plutôt bien. Je vais vous indiquer le UIControl class reference. S'il vous plaît lire le matériel d'intro sur la page, il liens vers d'autres pages, comme la gestion des événements. En outre, je vais également vous pointer au CABasicAnimation class reference, avec la même mise en garde appliquée. Rappelez-vous, un UIControl est juste un UIView, sauf qu'il gère les événements d'une manière particulière.

+0

Cela semble très bien, mais pourriez-vous me diriger dans une direction ou aller un peu plus loin dans le sujet s'il vous plaît? :) – jarryd

+0

Une autre chose serait, si le bouton est pressé pendant l'animation, et j'assigne une nouvelle image au bouton en utilisant l'IBAction, va-t-il tuer l'animation ou attendre qu'elle se termine? – jarryd

+0

Edité la réponse ci-dessus, espérons que cela aide. En ce qui concerne votre question sur le fait de cliquer sur le bouton pendant l'animation, il est très probable que le bouton ne soit pas reçu par le bouton tant que l'animation n'est pas terminée. Cela a été mon expérience dans le passé. – jer

0

simple est juste pour placer une coutume UIButton (ie invisible pour l'utilisateur) au-dessus de votre UIImageView. Ensuite, il apparaîtra que le bouton est animé mais en réalité ce seront les images sous le bouton qui seront animées.

+0

J'ai des choses plus complexes sur lesquelles j'ai besoin que les boutons actuels affichent leur propre contenu. Mais j'utilise cette technique pour d'autres applications. : P – jarryd

0

Créer un tableau, par ex. myArray avec les noms de fichiers de vos images. Affectez ce tableau à un UIImage avec myImage.animationImages = myArray; puis utilisez setImage:forState pour affecter cette animation au bouton.

+0

"puis utilisez setImage: forState pour affecter cette animation au bouton." ? Je ne vois pas où est le lien. setImage: someButton? Aussi, ai-je besoin d'un UIImage supplémentaire pour chaque bouton que j'ai? – jarryd