2014-10-29 14 views
0

我有2個文本字段:如何通過傳遞正確的參數將textFieldShouldClear綁定到字段或另一個字段?

@IBOutlet weak var countriesFieldVar: UITextField! 
@IBOutlet weak var countriesFieldVar2: UITextField! 
從我的理解

,textFieldShouldClear當我們輕點出現在字段右邊啓用「清除」按鈕應該執行。

讓我實現這一點:

func textFieldShouldClear(textField: UITextField) -> Bool { 
    if textField == countriesFieldVar { 
     println("field 1") 
    } else { 
     println("field 2") 
    } 
    return true 
} 

這個代碼什麼也不做,所以我想我應該invoque功能,並將它傳遞正確的文本字段的說法。 但如何invoque函數並傳遞正確的參數對應於「清除」被挖掘的字段?

(我將標籤分配給字段)。請迅速回答。

回答

2

您不會自己調用該函數,它會在按下清除按鈕時自動調用。喲是否在你的textField上使用了代表?

countriesFieldVar.delegate = self 
countriesFieldVar2.delegate = self 
+0

工作。非常感謝。任何理由爲什麼我不得不把它專門放在viewdidload中來工作? – 2014-10-29 12:40:41

+1

這就是協議 - 委託模式的工作原理,iOS中的大部分內容都符合這種模式(textFields,tableViews ...)。基本上,你對該行的處理是說你的類正在監聽textField的變化,並且你的某些方法的實現應該被觸發。在實際開始使用textField來調用它們之前,您需要設置委託,所以viewDidLoad方法通常是最好的地方。 – Adis 2014-10-29 12:55:39

相關問題