2010-05-04 5 views
1

J'essaye d'avoir un bouton qui bouge autour de l'écran et qui reste cliquable. Je l'ai déplacé autour de l'écran correctement, mais la chose étrange est que je ne peux pas cliquer sur le bouton jusqu'à la dernière seconde de l'animation. Le bouton est toujours en mouvement et pourtant, après un certain seuil, je peux cliquer dessus. Une idée de ce qui se passe? Toute idée d'une autre façon je peux faire ce que je veux? Merci pour toute aide.iPhone - UIView Animation sur UIButton - bouton non-cliquable pour une portion de durée

Répondre

0

Sans informations détaillées, je ne peux que supposer certains aspects du problème. Mon hypothèse est que vous avez créé un UIButton dynamique et que vous le définissez sur la vue, qui est complètement cliquable quand elle ne bouge pas à l'écran. Cependant, lorsque vous animez le bouton en tant que UIView, le bouton n'est plus cliquable. D'après ce que j'ai compris, ceci est possible et non possible.

+0

Je suis allé dans Interface Builder et j'ai fait glisser un bouton rectangle arrondi sur la vue. À mon avis, la classe de contrôleurs I possède un IBOutlet UIButton qui est correctement lié dans IB. mon code pour animer le bouton est un simple ensemble de lignes [UIView beginAnimation ...]. Je fixe la durée à 5 secondes. alors les "changements" à faire est le centre du bouton est en train d'être placé à un autre endroit sur l'écran. Si je commente l'animation, le bouton est cliquable et fin et stationnaire et la fonction liée à l'interface tactile fonctionne. Si l'animation disparaît, elle ne devient pas bleue ou appelle la fonction jusqu'à ce qu'elle s'arrête. – Robert

1

Je crois que le bouton est déplacé vers la position d'animation finale lorsque l'animation commence, mais elle n'est pas affichée tant que l'animation n'est pas terminée. Tout en vous déplaçant, vous ne voyez qu'une projection de l'image, pas vraiment le bouton réel. Je pense que si vous pouviez enregistrer périodiquement la valeur de l'image du bouton pendant l'animation, vous pourriez le voir (hmmm, je vais devoir l'essayer dans mon sélecteur de couleurs).

Peut-être que vous pouvez déplacer le bouton un peu à la fois dans de nombreuses animations au lieu d'un long déplacement?

EDIT: J'ai essayé ceci dans un programme sur lequel je travaille, enregistré l'origine d'un objet en cours d'animation. Il a la valeur d'origine finale tout au long de l'animation:

2010-05-04 20:41:08.914 beginAnimations: origin=175 197 
2010-05-04 20:41:08.915 commitAnimations: origin= 79 333 
2010-05-04 20:41:08.964 -[ColorPickerVC showSlidingColorOrigin:] 79 333 
2010-05-04 20:41:09.064 -[ColorPickerVC showSlidingColorOrigin:] 79 333 
2010-05-04 20:41:09.164 -[ColorPickerVC showSlidingColorOrigin:] 79 333 
2010-05-04 20:41:09.264 -[ColorPickerVC showSlidingColorOrigin:] 79 333 
2010-05-04 20:41:09.364 -[ColorPickerVC showSlidingColorOrigin:] 79 333 
2010-05-04 20:41:09.464 -[ColorPickerVC showSlidingColorOrigin:] 79 333 
2010-05-04 20:41:09.577 annimationDone: origin= 79 333 
+0

Je pense cela aussi. J'ai décidé d'utiliser à la place un NSTimer avec une fonction qui mettra à jour les boutons x et y. Espérons que cela fonctionne mieux, mais je pense que ce sera le cas, merci pour l'aide à tous. – Robert

+0

Pourquoi doit-il être utilisable pendant son déplacement? À moins qu'il ne bouge très lentement, il est difficile d'atteindre une cible en mouvement. – progrmr

Questions connexes