aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Utility/ObservableScrollView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/Utility/ObservableScrollView.swift')
-rw-r--r--Hotline/Utility/ObservableScrollView.swift28
1 files changed, 16 insertions, 12 deletions
diff --git a/Hotline/Utility/ObservableScrollView.swift b/Hotline/Utility/ObservableScrollView.swift
index a6f46cc..05688f1 100644
--- a/Hotline/Utility/ObservableScrollView.swift
+++ b/Hotline/Utility/ObservableScrollView.swift
@@ -8,27 +8,31 @@ struct ScrollViewOffsetPreferenceKey: PreferenceKey {
}
}
-struct ObservableScrollView<Content>: View where Content : View {
+struct ObservableScrollView<Content>: View where Content: View {
@Namespace var scrollSpace
@Binding var scrollOffset: CGFloat
let content: () -> Content
-
- init(scrollOffset: Binding<CGFloat>,
- @ViewBuilder content: @escaping () -> Content) {
+
+ init(
+ scrollOffset: Binding<CGFloat>,
+ @ViewBuilder content: @escaping () -> Content
+ ) {
_scrollOffset = scrollOffset
self.content = content
}
-
+
var body: some View {
ScrollView {
content()
- .background(GeometryReader { geo in
- let offset = -geo.frame(in: .named(scrollSpace)).minY
- Color.clear
- .preference(key: ScrollViewOffsetPreferenceKey.self,
- value: offset)
- })
-
+ .background(
+ GeometryReader { geo in
+ let offset = -geo.frame(in: .named(scrollSpace)).minY
+ Color.clear
+ .preference(
+ key: ScrollViewOffsetPreferenceKey.self,
+ value: offset)
+ })
+
}
.coordinateSpace(name: scrollSpace)
.onPreferenceChange(ScrollViewOffsetPreferenceKey.self) { value in