解雇 ViewController 并解雇键盘不能一起工作
dismiss ViewController and dismiss keyboard not working together
按下按钮时会显示以下 XIB 文件 (.custom)。
@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,我希望在用户点击屏幕上的其他任何地方时关闭键盘。
为此,我在 swift 文件中实现了这段代码:(这个 dismiss keyboard/view.endEditing(true) 代码在其他应用程序中对我有用过很多次)
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 已推出
点击一个文本字段,点击其他任何地方以关闭键盘 - 否
回应
点击关闭按钮 - 无响应
点击文本字段 - XIB 被关闭
知道如何解决吗?
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
按下按钮时会显示以下 XIB 文件 (.custom)。
@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,我希望在用户点击屏幕上的其他任何地方时关闭键盘。 为此,我在 swift 文件中实现了这段代码:(这个 dismiss keyboard/view.endEditing(true) 代码在其他应用程序中对我有用过很多次)
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 已推出
点击一个文本字段,点击其他任何地方以关闭键盘 - 否 回应
点击关闭按钮 - 无响应
点击文本字段 - XIB 被关闭
知道如何解决吗?
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}