J'essaie d'ajouter un outil de reconnaissance de mouvement pour une image dans une cellule de vue de tableau personnalisée. Pour une raison quelconque, je n'arrive pas à le faire fonctionner. Voici mon code

override func awakeFromNib() {
    super.awakeFromNib()

    heartImage.userInteractionEnabled = true
    let gesture = UITapGestureRecognizer(target: self, action:Selector("onHeartTap"))
    gesture.delegate = self
    heartImage.addGestureRecognizer(gesture)
}

func onHeartTap(sender: UITapGestureRecognizer) 
    print("TAPPED")
}

La fonction awakeFromNib () est appelée correctement, mais onHeartTap () n'est jamais appelée lorsque vous appuyez sur l'image. Qu'est-ce que je fais mal?

-1
lednar 27 déc. 2015 à 14:39

2 réponses

Meilleure réponse

Nevermind, résolu. L'interaction de l'utilisateur a été activée pour l'image mais pas pour la cellule. Activé à partir du storyboard et tout fonctionne. Merci pour l'aide à tous!

2
lednar 27 déc. 2015 à 11:57

Dans votre nom de sélecteur 'onHeartTap' ":" est manquant

Il suffit de remplacer

let gesture = UITapGestureRecognizer(target: self, action:Selector("onHeartTap")) 

Avec

let gesture = UITapGestureRecognizer(target: self, action:Selector("onHeartTap:"))

Et aussi une raison spécifique pour laquelle vous faites cela dans awakeFromNib ?? Vous pouvez le faire sur viewWillAppear également.

1
Ajay Kumar 27 déc. 2015 à 12:25