Last active
March 25, 2023 20:27
-
-
Save edward-jimenez/2ac3999d7356417ebbad3a315d2199dd to your computer and use it in GitHub Desktop.
Add Hero Parallax Scrolling Header
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// HeroView.swift | |
// Roku Clone | |
// | |
// Created by Edward Jimenez on 3/19/23. | |
// | |
import SwiftUI | |
struct HeroView: View { | |
var body: some View { | |
GeometryReader { geometry in // Implement Parallax Scrolling Header | |
VStack { | |
if geometry.frame(in: .global).minY <= 0 { | |
Image("android") | |
.resizable() | |
.aspectRatio(contentMode: .fill) | |
.frame(width: geometry.size.width, height: geometry.size.height) | |
.offset(y: geometry.frame(in: .global).minY/9) | |
.clipped() | |
} else { | |
Image("android") | |
.resizable() | |
.aspectRatio(contentMode: .fill) | |
.frame(width: geometry.size.width, height: geometry.size.height + geometry.frame(in: .global).minY) | |
.clipped() | |
.offset(y: -geometry.frame(in: .global).minY) | |
} | |
} | |
} | |
.frame(height: 400) | |
} | |
} | |
struct HeroView_Previews: PreviewProvider { | |
static var previews: some View { | |
HeroView() | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment