0

Je peux appeler la fonction "handleTap" lorsque je supprime l'expéditeur, mais dès que j'ajoute le sender: UIPanGestureRecognizer, j'obtiens cette erreur: unrecognized selector sent to instance. Je ne peux pas comprendre!Ajout par programme d'une vue et d'un geste - "sélecteur non reconnu envoyé à l'instance"

class DrawingViewController: UIViewController, UIGestureRecognizerDelegate { 

var newlyAddedSticker = UIImage() { 
    didSet { 
     makeNewSticker() 
    } 
} 

func makeNewSticker() { 
    let newSticker = UIImageView(image: newlyAddedSticker) 
    view.addSubview(newSticker) 

    let myPanGesture = UIPanGestureRecognizer(target: self, action: "handleTap:") 
    myPanGesture.delegate = self 
    newSticker.isUserInteractionEnabled = true 
    newSticker.addGestureRecognizer(myPanGesture) 
} 

func handleTap(sender: UIPanGestureRecognizer) { 
    print("hi") 
} 

} 
+0

'UIPanGestureRecognizer (cible: auto, action: #selector (handleTap (_ :)))' et 'func handleTap (_ panGestureRecognizer: UIPanGestureRecognizer) {' –

Répondre

1

le problème est votre sélecteur ne précise pas

let myPanGesture = UIPanGestureRecognizer(target: self, action: #selector(YourViewController.handleTap)) 

func handleTap() { 
    print("hi") 
} 

espère que cela aidera