2010-12-13 40 views
3

Il semble que lorsque vous animez un UIButton, le bouton réel est toujours à la position de destination. L'animation est juste un "film". Dans ce code, alors que dans l'animation, le bouton n'obtient l'événement que si je touche la destination finale vide (centrée à 600x900). Si je le touche comme je le vois dans la position d'affichage, ce qui signifie à un moment où le bouton est dessiné (au milieu de l'animation) il ne reçoit rien.Comment animer (déplacer) un UIButton, en le gardant touchable pendant le mouvement?

CGPoint point; 
point.x = 600; 
point.y = 900; 
[UIView animateWithDuration:16 
     delay:0 
     options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionAllowAnimatedContent) 
     animations:^{ 

      [movingbutton setCenter:point]; 
     } 
     completion:^(BOOL finished){ 
      NSLog(@"animation completed"); 
     } 
]; 

Vous ne savez pas comment rendre le bouton animé tangible dans le chemin d'animation correct. Une idée? Merci!

+0

Bien sûr, c'était. Quels sont les points de prime? – Martha

Répondre

2

Utilisez simplement un NSTimer et déplacez-le manuellement (changez le cadre) de quelques pixels à chaque pas.

Est-ce que ça va pour vous?

+0

Semble assez ressource guzzler, est-ce? – Martha

+0

Non mais merci quand même! (Im pas si paresseux;) Je me demandais si c'était une solution plus douce. UIView anime ... le comportement est en quelque sorte décevant. – Martha

+0

En dépit de l'élégance est l'endroit où vous le trouvez, si c'était à moi, je le rendrait optonal. Je ne peux imaginer quelle serait la situation où un bouton agissant comme un bouton serait bizarre. – Martha