2016-05-05 74 views
0

我正在尋找隱藏的iOS鍵盤,當你按下「返回」時,大約一半的答案是使用self.view.endEditing(true)和另一半textField.resignFirstResponder()。一個比另一個更好嗎?iOS隱藏鍵盤上的「返回」按下,resignFirstResponder vs endEditing

供參考或任何人來到這裏,從谷歌什麼的,你需要添加UITextFieldDelegate到您的類繼承,在viewDidLoad中添加self.<your_TF_var_name>.delegate = self(),然後做一個函數

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    self.view.endEditing(true) 
    return false 
//OR 
    textField.resignFirstResponder() 
    return true 

回答

2

在這種情況下,這不是」你真的很重要,雖然技術上,使用textField.resignFirstResponder()更有效,因爲你已經知道這是你需要辭職的文本字段。

致電self.view.endEditing(true)將不得不找出當前的第一響應者,然後打電話給resignFirstResponder

我的一般經驗法則是如果你有一個你想要辭職的特定視圖的引用,則使用resignFirstResponder。如果你不這樣做並且你只想要當前的第一響應者被辭職,那麼使用endEditing

請注意,無論哪種情況,您都應該從textFieldShouldReturn返回false。有一個邊緣情況,在退回true可能導致在辭去UITextField之後將新行添加到UITextView。因此,我通常會返回false