Dismiss keyboard interactively

This commit is contained in:
Arkadiusz Fal 2023-02-06 21:51:57 +01:00
parent cfd85a018e
commit 3d45aa357e
3 changed files with 11 additions and 3 deletions

View File

@ -2,11 +2,19 @@ import Foundation
import SwiftUI import SwiftUI
extension Backport where Content: View { extension Backport where Content: View {
@ViewBuilder func scrollDismissesKeyboard() -> some View { @ViewBuilder func scrollDismissesKeyboardImmediately() -> some View {
if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) { if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) {
content.scrollDismissesKeyboard(.immediately) content.scrollDismissesKeyboard(.immediately)
} else { } else {
content content
} }
} }
@ViewBuilder func scrollDismissesKeyboardInteractively() -> some View {
if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) {
content.scrollDismissesKeyboard(.interactively)
} else {
content
}
}
} }

View File

@ -50,7 +50,7 @@ struct SearchView: View {
} }
} }
.backport .backport
.scrollDismissesKeyboard() .scrollDismissesKeyboardInteractively()
#else #else
ZStack { ZStack {
results results

View File

@ -29,7 +29,7 @@ struct SettingsView: View {
.alert(isPresented: $model.presentingAlert) { model.alert } .alert(isPresented: $model.presentingAlert) { model.alert }
#if os(iOS) #if os(iOS)
.backport .backport
.scrollDismissesKeyboard() .scrollDismissesKeyboardInteractively()
#endif #endif
} }