经过测试,发现如果页面在没有键盘弹出的情况下切换是没有问题的,所以制定的方案是在监听到页面切走时关闭键盘即可。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// 挂起APP, 即 Home 键 监听
NotificationCenter.default.addObserver(self, selector: #selector(willBeUnActive), name: UIApplication.willResignActiveNotification, object: nil)
// 重回app 监听
NotificationCenter.default.addObserver(self, selector: #selector(didBeActive), name: UIApplication.didBecomeActiveNotification, object: nil)
}
// 挂起app 监听
@objc func willBeUnActive() {
print("app will hide")
self.view.endEditing(true)
}
// 重新回到app 监听
@objc func didBeActive() {
print("didi become")
}
20210812追加
客户不允许关闭键盘,所以又重新调查问题。
发现OS版本是iOS 15 beta 4时才有这个问题,升级到iOS 15 beta 5此问题消失。