i want write custom code on double tap on uitextfield , block default text editing , popup of keyboard. i've tried following , nothing has worked me far. kindly me solve problem.
let gesturearray = namtxtboxval.gesturerecognizers var tapgesture = uitapgesturerecognizer() idxvar in gesturearray! { if let tapvar = idxvar as? uitapgesturerecognizer { if tapvar.numberoftapsrequired == 2 { tapgesture = tapvar namtxtboxval.removegesturerecognizer(tapgesture) } } } let doubletap = uitapgesturerecognizer(target: self, action: #selector(namfnc(_:))) doubletap.numberoftapsrequired = 2 doubletap.delegate = self tapgesture.requiregesturerecognizertofail(doubletap) namtxtboxval.addgesturerecognizer(doubletap)
i've tried:
func gesturerecognizer(gesturerecognizer: uigesturerecognizer, shouldrecognizesimultaneouslywithgesturerecognizer othergesturerecognizer: uigesturerecognizer) -> bool { return false }
the way know of
- put uiview behind uitextfield
- set textfield's userinteractionenabled = false
- add double tap gesture uiview
this allow register double tap on textfield area , not popup keyboard or enter editing mode.
not sure plan on doing textfield after double tap should able handle stuff programmatically @ point.
code is:
class viewcontroller: uiviewcontroller { @iboutlet weak var myviewbehindmytextfield: uiview! @iboutlet weak var mytextfield: uitextfield! override func viewdidload() { super.viewdidload() let tapgesture = uitapgesturerecognizer(target: self, action: #selector(viewcontroller.mytextfieldtapped(_:))) tapgesture.numberoftapsrequired = 2 myviewbehindmytextfield.addgesturerecognizer(tapgesture) } func mytextfieldtapped(sender: uitapgesturerecognizer) { print("double tapped on textfield") } }
Comments
Post a Comment