2014-09-04 112 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