私は画面上の任意の場所をタップして、それを却下していますかの、しかし私はまた、私は、リターンキーを押したときに、それは却下したいので、これらは実際に、必要ではない今のように私は、複数のテキストフィールドUITextFieldキーボードを閉じますか?
@IBOutlet var emailLogin: UITextField!
@IBOutlet var passLogin: UITextField!
@IBOutlet var emailSignUp: UITextField!
@IBOutlet var passSignUp: UITextField!
を持っています。
override func viewDidLoad() {
super.viewDidLoad()
self.emailLogin.delegate = self
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(LoginViewController.dismissKeyboard))
view.addGestureRecognizer(tap)
}
最初の質問:私は一つだけで却下する必要があるとき、私はそうのようなデリゲートを設定しますが、私は、リターンキーを却下する必要がある複数のビューを持っているとき、どのように私はこれを処理できますか?
また、2つのビューがありますが、どちらも同じクラスを使用します。これは私がやろうとしていることの問題ですか?
ここ
func dismissKeyboard() {
view.endEditing(true)
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
から、これが唯一の私が自己のように設定TextFieldにキーボードを閉じます。
すべての情報をお待ちしております!
あなたの最初の質問をよく理解していません。デリゲートをトリガーするには、すべてのtextFieldsデリゲートを 'self'に設定する必要があります。デリゲート関数では、あなたのIBOutlet変数に対して 'textField'をチェックして、異なる反応を起こします。彼らがどこにいるかは本当に問題ではありません。 –
私はそれらをすべて代理人として設定します。それは私に悪い命令エラーを与える。 – Casey
サンプルプロジェクトを作成してGitHubなどに配置できますか? –