Я не уверен, чего вы хотите достичь, но, по моему опыту, когда у вас есть вид, который открывает клавиатуру, и этот вид отклоняется, SwiftUi падает. Поэтому я должен быть уверен, что клавиатура всегда закрыта при переходе в другое представление.
Создайте расширение для закрытия клавиатуры:
extension UIApplication {
func endEditing() {
sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}
в SwiftUI:
Button(action: {
UIApplication.shared.endEditing()
withAnimation(.easeInOut(duration: 0.3)) {
// do something
}
}) {
Text("Button")
}
...