Skip to content

Instantly share code, notes, and snippets.

@michzio
Created May 4, 2020 17:19
Show Gist options
  • Save michzio/04d1653f4c81c59e9771bbfc782c9208 to your computer and use it in GitHub Desktop.
Save michzio/04d1653f4c81c59e9771bbfc782c9208 to your computer and use it in GitHub Desktop.
struct KeyboardAvoiderPreferenceReader: ViewModifier {
let tag: Int
func body(content: Content) -> some View {
content
.background(
GeometryReader { geometry in
Rectangle()
.fill(Color.clear)
.preference(
key: KeyboardAvoiderPreferenceKey.self,
value: [
KeyboardAvoiderPreference(tag: self.tag, rect: geometry.frame(in: .global))
])
}
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment