ios - UITapGestureRecognizer is not being recognized -
in storyboard have basic view, login field. in storyboard checkbox enable user interaction checked, , settings through code.
below code i'm using this:
class loginviewcontroller : uiviewcontroller { @iboutlet weak var emailfield: uitextfield! @iboutlet weak var passwordfield: uitextfield! override func viewdidload() { super.viewdidload(); let closekeyboardgesture = uitapgesturerecognizer(target: self, action: "dismisskeyboard"); self.view.userinteractionenabled = true self.view.addgesturerecognizer(closekeyboardgesture); } private func dismisskeyboard() { print("called") if passwordfield.selected { passwordfield.resignfirstresponder() } if emailfield.selected { emailfield.resignfirstresponder() } } } as can see it's straightforward, dismisskeyboard function never called. bothers me i'm using these gestures elsewhere in application , they're working fine.
that´s because have dismisskeyboard function marked private. if calling method selector , private cannot called because method called outside.
so remove private dismisskeyboard , work.
update
if change above work, what´s not working right resignfirstresponder don´t need if-checks since want hide keyboard when active closekeyboardgesture, it´s enough call self.view.endediting(true). have created sample project has working example. can download here.
Comments
Post a Comment