forked from shadowfacts/Tusker
Hide keyboard before dismissing windows
This commit is contained in:
parent
f0e2bb8db6
commit
74a30d27e8
|
@ -12,6 +12,13 @@ extension UIWindowSceneDelegate {
|
||||||
|
|
||||||
func closeWindow(animation: UIWindowScene.DismissalAnimation = .standard, errorHandler: ((Error) -> Void)? = nil) {
|
func closeWindow(animation: UIWindowScene.DismissalAnimation = .standard, errorHandler: ((Error) -> Void)? = nil) {
|
||||||
guard let session = self.window??.windowScene?.session else { return }
|
guard let session = self.window??.windowScene?.session else { return }
|
||||||
|
// Hide the keyboard before dismissing window.
|
||||||
|
// Calling resignFirstResponder() on the window does not work (always returns false).
|
||||||
|
// Using UIApplication.shared.sendAction(#selector(resignFirstResponder), to: nil, from: nil, for: nil)
|
||||||
|
// may not work as desired if the window with focus is not the one being dismissed (in which case it's okay
|
||||||
|
// if the keyboard remains visible).
|
||||||
|
window??.endEditing(true)
|
||||||
|
|
||||||
let options = UIWindowSceneDestructionRequestOptions()
|
let options = UIWindowSceneDestructionRequestOptions()
|
||||||
options.windowDismissalAnimation = animation
|
options.windowDismissalAnimation = animation
|
||||||
UIApplication.shared.requestSceneSessionDestruction(session, options: options, errorHandler: errorHandler)
|
UIApplication.shared.requestSceneSessionDestruction(session, options: options, errorHandler: errorHandler)
|
||||||
|
|
Loading…
Reference in New Issue