2014-09-04 512 views
4

我在将触摸手势添加到我的UITextField时遇到问题。以下代码:iOS - 将触摸手势添加到UITextField

@IBAction func hanldeTap(recognizer: UITapGestureRecognizer) { 
    println("works") 
} 

此操作与Tap Gesture Recognizer相关联。在我的TextField中,我已经在OutletCollections中定义了gestureRecognizer。在我猜测它应该工作。在描述的配置手势工程e.x.为按钮或自定义视图。

你能告诉我什么可能出错,我该如何解决这个问题?

回答

8

UITextField有delegate methods,您可能要考虑实施这些。或者只需将动作事件添加到您的文本框。

例如在viewDidLoad

textField.addTarget(self, action:Selector("textDidBeginEditing"), forControlEvents: UIControlEvents.EditingDidBegin) 

然后实现这一点:

func textDidBeginEditing(sender:UITextField) -> Void 
{ 
    // handle begin editing event 
} 
+0

为什么在我的UITextField不能只用一个UITapGesture? – 2014-09-05 06:59:58

+0

我觉得'UITextField'就是因为它的目的。你为什么需要这样做? – Hokage 2014-09-05 08:09:42

+0

我想在这个文本上点击一下并显示一个弹出视图,并且当点击两次时我想隐藏它。我不认为我可以这样管理。我想我必须创建一个自定义视图。 – 2014-09-05 08:17:55

1

如果设置文本框的委托,就可以使用;

optional func textFieldDidBeginEditing(_ textField: UITextField)

optional func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool

+0

太好了,非常感谢! – AlexWoe89 2016-01-05 20:17:41