Fixes compile issue with AutoCapitalization on Xcode 14.2 and below

This commit is contained in:
Jerrod Putman 2023-05-17 11:08:37 -07:00
parent cbf0a6d831
commit bfdb0d3bac
1 changed files with 17 additions and 15 deletions

View File

@ -26,21 +26,7 @@ public extension Backport where Wrapped: View {
func textInputAutocapitalization(_ autocapitalization: Backport<Any>.TextInputAutocapitalization?) -> some View { func textInputAutocapitalization(_ autocapitalization: Backport<Any>.TextInputAutocapitalization?) -> some View {
Group { Group {
if #available(iOS 16, *) { if #available(iOS 16, *) {
var type: SwiftUI.TextInputAutocapitalization { wrapped.textInputAutocapitalization(textInputAutocapitalizationType(autocapitalization))
switch autocapitalization {
case .none:
return .sentences
case .some(let wrapped):
switch wrapped {
case .never: return .never
case .words: return .words
case .sentences: return .sentences
case .characters: return .characters
default: return .sentences
}
}
}
wrapped.textInputAutocapitalization(type)
} else { } else {
wrapped.modifier( wrapped.modifier(
AutoCapitalizationModifier( AutoCapitalizationModifier(
@ -51,6 +37,22 @@ public extension Backport where Wrapped: View {
} }
.environment(\.textInputAutocapitalization, autocapitalization) .environment(\.textInputAutocapitalization, autocapitalization)
} }
@available(iOS 16.0, *)
private func textInputAutocapitalizationType(_ autocapitalization: Backport<Any>.TextInputAutocapitalization?) -> SwiftUI.TextInputAutocapitalization {
switch autocapitalization {
case .none:
return .sentences
case .some(let wrapped):
switch wrapped {
case .never: return .never
case .words: return .words
case .sentences: return .sentences
case .characters: return .characters
default: return .sentences
}
}
}
} }
@available(iOS, deprecated: 15) @available(iOS, deprecated: 15)