when scrolling up - switch between actual header collapse and simply moving it up (by default moving up)
.allowsHeaderCollapse()
when scrolling down - enable (disabled by default) header scale
.allowsHeaderGrowth()
enable (disabled by default) header snap (once you lift your finger header snaps either to min or max height automatically)
.allowsHeaderSnap()
Set custom positions for header snap (explained previous point). Specify any amount of values in 0…1 to set snapping points, 0 - fully collapsed header, 1 - fully expanded
Set custom initial position to which scroll view will be automatically snapped to. Specify a value in 0…1, 0 - fully collapsed header, 1 - fully expanded
To integrate ScalingHeaderScrollView into your Xcode project using Carthage, specify it in your Cartfile
github "Exyte/ScalingHeaderScrollView"
Requirements
iOS 14+
Xcode 12+
Our other open source SwiftUI libraries
PopupView - Toasts and popups library Grid - The most powerful Grid container AnimatedTabBar - A tabbar with number of preset animations MediaPicker - Customizable media picker Chat - Chat UI framework with fully customizable message cells, input view, and a built-in media picker ConcentricOnboarding - Animated onboarding flow FloatingButton - Floating button menu ActivityIndicatorView - A number of animated loading indicators ProgressIndicatorView - A number of animated progress indicators SVGView - SVG parser LiquidSwipe - Liquid navigation animation
Scaling Header Scroll View
A scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI.
We are a development agency building phenomenal apps.
Usage
Put your header and content bodies code into a ScalingHeaderScrollView constructor.
Set the necessary modifiers, see below.
Required parameters
header
-@ViewBuilder
for your headercontent
-@ViewBuilder
for your contentAvailable modifiers, optional
passes current collapse progress value into progress binding: 0 for not collapsed at all, 1 - for fully collapsed
allows set up callback and
isLoading
state for pull-to-refresh actionallows content scroll reset, need to change Binding to
true
changes min and max heights of Header, default
min = 150.0
andmax = 350.0
when scrolling up - switch between actual header collapse and simply moving it up (by default moving up)
when scrolling down - enable (disabled by default) header scale
enable (disabled by default) header snap (once you lift your finger header snaps either to min or max height automatically)
Set custom positions for header snap (explained previous point). Specify any amount of values in 0…1 to set snapping points, 0 - fully collapsed header, 1 - fully expanded
Set custom initial position to which scroll view will be automatically snapped to. Specify a value in 0…1, 0 - fully collapsed header, 1 - fully expanded
hide scroll indicators (false by default)
Examples
To try ScalingHeaderScrollView examples:
https://github.com/exyte/ScalingHeaderScrollView.git
cd <ScalingHeaderScrollViewRepo>/Example/
pod install
to install all dependenciesExample.xcworkspace/
to open project in the XcodeInstallation
Swift Package Manager
CocoaPods
To install
ScalingHeaderScrollView
, simply add the following line to your Podfile:Carthage
To integrate
ScalingHeaderScrollView
into your Xcode project using Carthage, specify it in yourCartfile
Requirements
Our other open source SwiftUI libraries
PopupView - Toasts and popups library
Grid - The most powerful Grid container
AnimatedTabBar - A tabbar with number of preset animations
MediaPicker - Customizable media picker
Chat - Chat UI framework with fully customizable message cells, input view, and a built-in media picker
ConcentricOnboarding - Animated onboarding flow
FloatingButton - Floating button menu
ActivityIndicatorView - A number of animated loading indicators
ProgressIndicatorView - A number of animated progress indicators
SVGView - SVG parser
LiquidSwipe - Liquid navigation animation