Max
Max

Reputation: 1349

UITapGestureRecognizer for UIPIckerView

UITapGestureRecognizer with UIPickerView not working. Why?

class someVC: UIViewController, UITapGestureRecognizerDelegate

override func viewDidLoad() {
   let tap = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
   self.pickerView.addGestureRecognizer(tap)
   tap.delegate = self
}

func dismissKeyboard() {
   textField.resignFirstResponder()
}

Upvotes: 3

Views: 3056

Answers (2)

Max
Max

Reputation: 1349

I solved problem by adding override getureRecognizer

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}

Upvotes: 10

Reedy
Reedy

Reputation: 2076

Looks ok, could it be that there is another gesture recognizer swallowing the tap? You need to make sure your object is on the top of the view stack to ensure it gets fired. Also you set the delegate, does the delegate methods get called? or do they not fire either? If they don't then it means your tap gesture is not being touched(another gesture is taking the touch), if it does get fired, it means there is something wrong with the action(but i doubt that is the case).

Upvotes: 0

Related Questions