J'essaie d'augmenter la température avec une animation en cliquant sur le bouton cela fonctionne lorsque j'appuie sur le bouton pour la première fois mais lorsque j'appuie à nouveau sur le bouton, rien ne se passe. J'utilise une vue d'image (couleur rouge) pour afficher la température voici mon code que j'utilise derrière l'action ceci est mon compteur [! [] [1]] 2

        UIView.animateWithDuration(3.0, animations: {

        self.progress.transform =  CGAffineTransformMakeTranslation((self.progress.frame.origin.x -self.progress.frame.origin.x ), -30)
    })

Il devrait augmenter chaque fois que je clique sur le bouton + mais cela ne se produit pas. Quelqu'un peut-il expliquer quel est le problème?

0
Umair Afzal 4 janv. 2016 à 18:18

2 réponses

Meilleure réponse

Pour déplacer votre image, vous devez faire une concaténation de vos transformations

UIView.animateWithDuration(3.0, animations: {

   let transform =  CGAffineTransformMakeTranslation(0, -30)
   self.progress.transform = CGAffineTransformConcat(self.progress.transform, transform)
})
1
Alexandre Barbier 4 janv. 2016 à 15:47

CGAffineTransformMakeTranslation n'est pas nécessairement nécessaire si vous ne déplacez que le cadre. La même chose pourrait être faite simplement en définissant un nouveau cadre pour la vue. De plus, si vous ne réinitialisez la transformation nulle part, il n'y a rien à animer la deuxième fois. Ou au lieu de réinitialiser, vous devez incrémenter / décrémenter la valeur -30, et ne pas utiliser la même valeur à chaque fois.

1
Tapani 4 janv. 2016 à 19:49