У меня есть простое представление с текстовым полем, которое становится первым ответчиком при загрузке представления. Если пользователь вводит неправильный код, всплывает диалоговое окно с предупреждением «упс», и клавиатура закрывается, а при выборе параметра в диалоговом окне с предупреждением клавиатура появляется снова, в результате чего мой взгляд перемещается.
Есть ли способ остановить эту клавиатуру - когда-либо - увольнять? Я попытался использовать это, которое я нашел в другом месте:
override var disablesAutomaticKeyboardDismissal: Bool { return true }
однако это, похоже, не решает проблему. Может ли кто-нибудь дать мне голову? :) Спасибо!
исправлено с помощью следующего решения, измененного из этого ответа - https://stackoverflow.com/a/47068284/14815664
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)
}