uitextfield - Swift Gesture recognizers added to textfield inoperable after becomes first responder? -
i added tap , double tap gesture recognizer text field in swift, single tap performs function double tap makes textfield become first responder. stops working though after textfield becomes first responder first time. is, textfield operates becoming first responder on single tap rather double tap. ideas on how keep gesture recognizers working?
another approach:
just create 'invisible' view on top of textfield , add gesture recognizers it
import uikit class viewcontroller: uiviewcontroller, uitextfielddelegate { @iboutlet weak var textfield: uitextfield! override func viewdidload() { super.viewdidload() textfield.delegate = self; } override func viewdidappear(animated: bool) { let tap1 = uitapgesturerecognizer(target: self, action: "onsingletap") let tap2 = uitapgesturerecognizer(target: self, action: "ondoubletap") tap2.numberoftapsrequired = 2 // create view , put on top of textfield // here created @ viewdidappear example can better var dummieview = uiview(frame: self.textfield.frame) dummieview.backgroundcolor = uicolor(red: 1.0, green: 0.0, blue: 0.0, alpha: 0.25) self.view.addsubview(dummieview) dummieview.addgesturerecognizer(tap1) dummieview.addgesturerecognizer(tap2) } func onsingletap(){ println("custom single tap") if self.textfield.isfirstresponder() { self.textfield.resignfirstresponder() } } func ondoubletap(){ println("double tap") self.textfield.becomefirstresponder() } func textfieldshouldreturn(textfield: uitextfield) -> bool { if self.textfield.isfirstresponder() { self.textfield.resignfirstresponder() } return true } }
Comments
Post a Comment