Evgeny
Evgeny

Reputation: 384

Tap Gesture isn't working. User interaction enabled.

Have following view structure:

enter image description here

Programmatically adding tap gesture rec to Temp lbl:

    let tempLblTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MainFeedVC.convertDegrees))
    tempLblTap.delegate = self
    tempLblTap.numberOfTapsRequired = 1
    tempLblTap.numberOfTouchesRequired = 1
    tempLblTap.cancelsTouchesInView = false
    self.tempLbl.isUserInteractionEnabled = true
    self.tempLbl.addGestureRecognizer(tempLblTap)

but the method convertDegrees isn't triggered.

There are also 2 swipe gesture recognizers that are added to the same view:

let leftSwipeGestureRecognizer: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(MainFeedVC.showPostPicVC))
    leftSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.left
    self.view.addGestureRecognizer(leftSwipeGestureRecognizer)

    let rightSwipeGestureRecognizer: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(MainFeedVC.showUserVC))
    rightSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.right
    self.view.addGestureRecognizer(rightSwipeGestureRecognizer)

Maybe they are the reason?

Upvotes: 1

Views: 1289

Answers (1)

Evgeny
Evgeny

Reputation: 384

Found solution:

View that contained my lbl had its userInteractionEnabled unchecked in storyboards. So, when adding gesture recognizers to labels, images or simply adding buttons, always check that all parent views has its userInteractionEnabled to true.

Upvotes: 5

Related Questions