StretchScrollView provides functionality to enlarge title image and hide overlays when scrolling down. When scrolling up it allows to animate background of navigation bar.
To run the example project, clone the repo, and run
pod install from the Example directory first.
If you are setting
StretchScrollView class in storyboard assure module field is also
Please check official guide
github "APUtils/StretchScrollView" ~> 6.0
carthage bootstrap --use-xcframeworks
Then add both
ViewState frameworks to your project. Remove
APExtensionsViewState dependency if you previously had it.
StretchScrollView is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'StretchScrollView', '~> 6.0'
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler.
Once you have your Swift package set up, adding
StretchScrollView as a dependency is as easy as adding it to the dependencies value of your
dependencies: [ .package(url: "https://github.com/APUtils/StretchScrollView.git", .upToNextMajor(from: "6.0.0")) ]
StretchScrollView class to your UIScrollView in storyboard, assure module field is also
Set needed outlets and options.
Usually content mode
Aspect Fill fits well for
Properly setup constraints for
stretchedView. There are two resize modes available: by top and height constraints and by top and sides constraints.
Example constraints setups:
For second setup if scroll view is enlarged it'll be automatically zoomed at center.
Also works when stretched view is inside
UIStackView and have height constraint.
/// StretchScrollView will manage navigation bar transparency by itself. /// You could disable this option to manage it by yourself or to disable navigation bar animations. @IBInspectable var manageNavigationBarTransparency: Bool = true /// In case of transparent navigation bar you may specify background color that will appear when you scroll up. @IBInspectable var navigationBackgroundColor: UIColor = .clear
You are done! See example project for more details.
Any contribution is more than welcome! You can contribute through pull requests and issues on GitHub.
Anton Plebanovich, email@example.com
StretchScrollView is available under the MIT license. See the LICENSE file for more info.