Concentric Onboarding
iOS library for a walkthrough or onboarding flow with tap actions written with SwiftUI
We are a development agency building phenomenal apps.
Usage
- Create
View's descendant class for your pages. - Create at least two pages and fill them with content.
- Create an array of tuple - (page, background color).
- Create ConcentricOnboardingView and place it in your view hierarchy.
struct ContentView: View {
var body: some View {
return ConcentricOnboardingView(pageContents: [<your_page>, <your_background_color>])
}
}- Pass duration as an argument if you want animation to be faster/slower
ConcentricOnboardingView(pageContents: [<your_page>, <your_background_color>])
.(duration: 2.0)- Pass icon name as an argument if you want to change default icon on the button
ConcentricOnboardingView(pageContents: [<your_page>, <your_background_color>])
.(nextIcon: "chevron.forward")Public interface
goToNextPage(animated: Bool = true) - call this method manually if you need to
goToPreviousPage(animated: Bool = true) - call this method manually if you need to
Assignable closures
.animationWillBegin - called before animation starts
.animationDidEnd - called after animation ends
.didGoToLastPage - called after animation leading to last page ends
.didChangeCurrentPage - called after page changes
.insteadOfCyclingToFirstPage - replaces default navigation to first page after pressing next on last page
.insteadOfCyclingToLastPage - replaces default navigation to last page after pressing prev on first page while navigating backwards
.didPressNextButton - replaces default button action with user's custom closure
Examples
To try ConcentricOnboarding examples:
- Clone the repo
https://github.com/exyte/ConcentricOnboarding.git - Open terminal and run
cd <ConcentricOnboardingRepo>/Example/ - Run
pod installto install all dependencies - Run open
ConcentricOnboardingExample.xcworkspace/to open project in the Xcode - Try it!
Installation
CocoaPods
To install ConcentricOnboarding, simply add the following line to your Podfile:
pod 'ConcentricOnboarding'Carthage
To integrate ConcentricOnboarding into your Xcode project using Carthage, specify it in your Cartfile
github "Exyte/ConcentricOnboarding"Manually
Drop ConcentricOnboardingView.swift in your project.
Requirements
- iOS 14+
- Xcode 11+
Acknowledgements
Many thanks to Cuberto team for the design idea and inspiration.