2016-05-05 5 views
0

"返す"を押すとiOSキーボードが隠れていました。答えの半分はself.view.endEditing(true)、もう半分はtextField.resignFirstResponder()です。他のものより良い方法はありますか?iOSは "Return"キーでキーボードを隠しています。resignFirstResponderとendEditingを比較します。

参照するか、Googleか何かからここに来る人にとって、あなたは、あなたのクラス継承に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

を作る、それはdoesnのtは本当にあなたがすでにそれはあなたが辞任する必要があるテキストフィールドである知っているので、技術的には、textField.resignFirstResponder()を使用する方が効率的ですが、あなたが使用している問題では。

self.view.endEditing(true)への呼び出しは、現在のファーストレスポンダが何であるか把握してからresignFirstResponderを呼び出す必要があります。親指の

私の一般的なルールは、あなたが辞任したい特定のビューへの参照を持っている場合resignFirstResponderを使用することです。そうしないと、あなただけの現在のファーストレスポンダが辞任することにしたい場合やendEditingを使用しています。サイドノートでは

、あなたはどちらの場合にはtextFieldShouldReturnからfalseを返す必要があります。 trueUITextFieldを返すことを退職後UITextViewに追加される改行をもたらすことができるエッジ場合があります。ですから、私はいつも元気にfalseを返します。

関連する問題