Swift - 如何在出现警报时阻止键盘消失
Swift - How to stop the keyboard from dismissing when an alert shows up
我有一个带有文本字段的简单视图,该文本字段在视图加载时成为第一响应者。如果用户输入了错误的代码,会弹出一个 'oops' 警告对话框,键盘消失,点击警告对话框上的一个选项后,键盘会再次出现,导致我的视线四处移动。
有没有办法阻止这个键盘 - 永远 - 解雇?我尝试使用我在别处找到的这个:
override var disablesAutomaticKeyboardDismissal: Bool { return true }
但是它似乎并没有解决问题。谁能给我提个醒? :) 谢谢!
使用以下解决方案修复,根据此答案修改 -
func displayError(message: String) {
let controller = UIAlertController(title: "Oops!", message: message, preferredStyle: .alert)
controller.addAction(UIAlertAction(title: "Dismiss", style: .default))
guard let alertWindow = UIApplication.shared.windows.last,
alertWindow.windowLevel == UIWindow.Level(rawValue: 10000001.0) else {
navigationController.present(controller, animated: true, completion: nil)
return
}
alertWindow.rootViewController?.present(controller, animated: true, completion: nil)
}
我有一个带有文本字段的简单视图,该文本字段在视图加载时成为第一响应者。如果用户输入了错误的代码,会弹出一个 'oops' 警告对话框,键盘消失,点击警告对话框上的一个选项后,键盘会再次出现,导致我的视线四处移动。
有没有办法阻止这个键盘 - 永远 - 解雇?我尝试使用我在别处找到的这个:
override var disablesAutomaticKeyboardDismissal: Bool { return true }
但是它似乎并没有解决问题。谁能给我提个醒? :) 谢谢!
使用以下解决方案修复,根据此答案修改 -
func displayError(message: String) {
let controller = UIAlertController(title: "Oops!", message: message, preferredStyle: .alert)
controller.addAction(UIAlertAction(title: "Dismiss", style: .default))
guard let alertWindow = UIApplication.shared.windows.last,
alertWindow.windowLevel == UIWindow.Level(rawValue: 10000001.0) else {
navigationController.present(controller, animated: true, completion: nil)
return
}
alertWindow.rootViewController?.present(controller, animated: true, completion: nil)
}