キーボードの外に触れるときや戻るボタンを押したときにキーボードを閉じるコードを作成しようとしています。しかし、それはうまく動作しません:Dそれは私がここで尋ねている理由です。どうすればそれを動作させることができますか?エラーは出ませんが、応答していません。コードを解除できないキーボード
さらに簡単な解決策がある場合は、それも提供してください。
ありがとうございました! UITextFieldのデリゲートメソッドの下
import UIKit
class EntryViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var UserEmailAdresInput: UITextField!
@IBOutlet weak var UserPasswordInput: UITextField!
@IBOutlet weak var UserPasswordInputRepeated: UITextField!
@IBOutlet weak var UserSignUp: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.UserEmailAdresInput.delegate = self
self.UserPasswordInput.delegate = self
self.UserPasswordInputRepeated.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func SignUp(_ sender: Any) {
let UserEmail = UserEmailAdresInput.text;
let UserPassword = UserPasswordInput.text;
let UserPasswordRepeated = UserPasswordInputRepeated.text;
//Hide Keyboard upon Touch
func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){
self.view.endEditing(true)
}
//Hide Keyboard upon Return Key
func textFieldShouldReturn(textField: UITextField) -> Bool {
UserEmailAdresInput.resignFirstResponder()
return (true)
}
//Check if fields are filled in correctly
if(UserEmail?.isEmpty == true || UserPassword?.isEmpty == true || UserPasswordRepeated?.isEmpty == true){
displayAlertMessage(userMessage: "Alle velden moeten ingevuld worden");
return;
}
if(UserPassword != UserPasswordRepeated){
displayAlertMessage(userMessage: "Wachtwoorden zijn niet gelijk");
return;
}
//Store Data
UserDefaults.standard.set(UserEmail, forKey: "UserEmail");
UserDefaults.standard.set(UserPassword, forKey: "UserPassword");
UserDefaults.standard.synchronize();
//SignUp Succesfull
var Alert = UIAlertController(title:"Succesvol aangemeld!", message: "Ga naar je email inbox om je aanmelding te voltooien", preferredStyle: UIAlertControllerStyle.alert);
let OkAction = UIAlertAction(title:"Ok", style: UIAlertActionStyle.default, handler: nil);
Alert.addAction(OkAction);
self.present(Alert, animated: true, completion: nil)
}
func displayAlertMessage(userMessage:String){
var Alert = UIAlertController(title:"Alert", message: userMessage, preferredStyle: UIAlertControllerStyle.alert);
let OkAction = UIAlertAction(title:"Ok", style: UIAlertActionStyle.default, handler: nil);
Alert.addAction(OkAction);
self.present(Alert, animated: true, completion: nil)
}
}
あなたのfuncの中にtouhesBeganを定義しています。それはとにかく呼び出されません。 –