ボタンを押すと、次のXIBファイルが表示されます(.custom)。ViewControllerを閉じて、キーボードが一緒に機能しないようにします。
@IBAction func contactUsBtnPressed(_ sender: Any) {
let contactUs = ContactUsXIB()
contactUs.modalPresentationStyle = .custom
present(contactUs, animated: false, completion: nil)
}
あなたは閉じるボタンがある右上隅に気付くでしょう。 私は、このボタンに以下のコードを割り当てています
@IBAction func closeBtnPressed(_ sender: Any) {
dismiss(animated: false, completion: nil)
}
これが正常に動作します。
UITextFieldのそれぞれについて、ユーザーが画面上の他の場所をタップすると、キーボードが消えたがります。 私がそうすることを迅速ファイルにこのコードを実装:(これはキーボード/ view.endEditingを却下(真の)コードは他のアプリで私のために多くの時間を働いている)
import UIKit
class ContactUsXIB: UIViewController {
@IBOutlet weak var nameField: UITextField!
@IBOutlet weak var emailField: UITextField!
@IBOutlet weak var telephoneField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
setupView()
}
@IBAction func closeBtnPressed(_ sender: Any) {
dismiss(animated: false, completion: nil)
}
func setupView() {
let tap: UIGestureRecognizer = UIGestureRecognizer(target: self, action: #selector(ContactUsXIB.dismissKeyboard))
view.addGestureRecognizer(tap)
}
@objc func dismissKeyboard() {
view.endEditing(true)
}
}
を、私はこの機能を実装ただし際に、閉じるボタンが機能せず、キーボードを閉じることもできません。 は、ここで私は今持っている不正な動作である: - 応答がありません
テキストフィールドをタップする -
XIBは、閉じるボタンをタップして提示される提示されXIBが
XIB
を却下されテキストフィールドをタップし、他の場所をタップしてキーボードを閉じる - レスポンス
t AP閉じるボタン - 無応答
テキストフィールドをタップする - XIBは
に解決するためにどのように任意のアイデアを却下していますか?
多くのお礼ありがとうございます!これは完全に機能しました。 この方法はUIGestureRecognizerなどを設定するよりも優れていますか?それは確かに少ないコードです! – scottc00