Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - exyte/ConcentricOnboarding: SwiftUI library for a walkthrough or onboarding flow with tap actions
SwiftUI library for a walkthrough or onboarding flow with tap actions - exyte/ConcentricOnboarding
Visit SiteGitHub - exyte/ConcentricOnboarding: SwiftUI library for a walkthrough or onboarding flow with tap actions
SwiftUI library for a walkthrough or onboarding flow with tap actions - exyte/ConcentricOnboarding
Powered by 0x5a.live š
Ā Ā Ā Ā Ā
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 install
to install all dependencies - Run open
ConcentricOnboardingExample.xcworkspace/
to open project in the Xcode - Try it!
Installation
Swift Package Manager
dependencies: [
.package(url: "https://github.com/exyte/ConcentricOnboarding.git")
]
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"
Requirements
- iOS 14+
- Xcode 12+
Acknowledgements
Many thanks to Cuberto team for the design idea and inspiration.
Our other open source SwiftUI libraries
PopupView - Toasts and popups library
Grid - The most powerful Grid container
ScalingHeaderScrollView - A scroll view with a sticky header which shrinks as you scroll
AnimatedTabBar - A tabbar with a 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
OpenAI Wrapper lib for OpenAI REST API
AnimatedGradient - Animated linear gradient
FloatingButton - Floating button menu
ActivityIndicatorView - A number of animated loading indicators
ProgressIndicatorView - A number of animated progress indicators
FlagAndCountryCode - Phone codes and flags for every country
SVGView - SVG parser
LiquidSwipe - Liquid navigation animation
Swift Resources
are all listed below.
Made with ā¤ļø
to provide different kinds of informations and resources.