From 69bed7745833add72cfe1b1516a61f62460b1765 Mon Sep 17 00:00:00 2001 From: Shav Kinderlehrer Date: Sun, 24 Dec 2023 20:01:52 -0500 Subject: Implement movieDetailView --- Jel/Views/Utility/StickyHeaderView.swift | 38 ++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Jel/Views/Utility/StickyHeaderView.swift (limited to 'Jel/Views/Utility') diff --git a/Jel/Views/Utility/StickyHeaderView.swift b/Jel/Views/Utility/StickyHeaderView.swift new file mode 100644 index 0000000..52dc26d --- /dev/null +++ b/Jel/Views/Utility/StickyHeaderView.swift @@ -0,0 +1,38 @@ +// +// StickyHeaderView.swift +// Jel +// +// Created by zerocool on 12/24/23. +// + +import SwiftUI + +struct StickyHeaderView: View { + + var minHeight: CGFloat + var content: Content + + init(minHeight: CGFloat = 200, @ViewBuilder content: () -> Content) { + self.minHeight = minHeight + self.content = content() + } + + var body: some View { + GeometryReader { geo in + if(geo.frame(in: .global).minY <= 0) { + content + .frame(width: geo.size.width, height: geo.size.height, alignment: .center) + } else { + content + .offset(y: -geo.frame(in: .global).minY) + .frame(width: geo.size.width, height: geo.size.height + geo.frame(in: .global).minY) + } + }.frame(minHeight: minHeight) + } +} + +#Preview { + StickyHeaderView { + Text("Test") + } +} -- cgit v1.2.3