2017-03-15 8 views
0

J'essaye de faire une fonction où pendant que l'utilisateur tient son doigt vers le bas, une image se développe jusqu'à ce qu'elle soit d'une certaine taille lorsqu'une transition se produit. Je sais comment faire grandir l'image, mais je ne sais pas comment la faire grandir UNIQUEMENT quand l'utilisateur tient.UILongPressGestureRecognizer- Comment augmenter la taille tout en maintenant enfoncé

Est-ce que quelqu'un sait comment faire cela? A-t-on besoin du LongPressRecognizer?

Désolé pour le code, mais j'essaie juste de comprendre comment faire ceci. Merci beaucoup pour votre aide à l'avance!

Cheers, Theo

+1

Oui, vous pouvez utiliser LongPressRecognizer pour cette tâche. –

Répondre

2

Vous pouvez le faire comme ceci:

@IBOutlet weak var myImageView: UIImageView! 

var startAnimation = false 
func handleTap(gestureRecognizer:UIGestureRecognizer) { 

     startAnimation = true 
     UIView.animate(withDuration: 0.5, animations: { 
      self.myImageView.frame = CGRect(x: 0, y: 0, width: 100, height: 100) 
      self.view.layoutIfNeeded() 
     }) { (finished) in 
      self.startAnimation = false 
     } 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let gesture = UILongPressGestureRecognizer(target: self, action: #selector(handleTap(gestureRecognizer:))) 

    myImageView.isUserInteractionEnabled = true 
    myImageView.addGestureRecognizer(gesture) 

} 
+0

Merci beaucoup !! Cela semble parfait pour une application iOS, mais j'essaie de le faire par programmation sur un terrain de jeux. Je peux convertir la viewdidload et des trucs comme ça, mais comment allez-vous créer l'image d'un bouton et ensuite l'exécuter le code? Si c'est trop demander, dites-le moi et je le rechercherai moi-même. Je vais vous donner la coche pas de problème –

+0

J'ai mis en place le code dans mon terrain de jeu et ça marche ... en quelque sorte. La presse longue l'agrandit, mais si je la laisse partir, elle ne rétrécit pas. C'est ce que je demandais. Sais-tu comment faire cela? –

+0

Je ne comprends vraiment pas pourquoi tu utilises un terrain de jeux. Cependant .. S'il vous plaît utiliser google pour votre question. La question n'est pas rare. gestureRecognizer a un état: gestureRecognizer.state peut-être que cela vous aidera. – kuzdu