exyte
ConcentricOnboarding
Swift

SwiftUI library for a walkthrough or onboarding flow with tap actions

Last updated Jul 6, 2026
1.6k
Stars
89
Forks
0
Issues
0
Stars/day
Attention Score
65
Language breakdown
No language data available.
โ–ธ Files click to expand
README

     

Concentric Onboarding

iOS library for a walkthrough or onboarding flow with tap actions written with SwiftUI

SPM Cocoapods License: MIT

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: [<yourpage>, <yourbackground_color>])
    }
}
  • Pass duration as an argument if you want animation to be faster/slower
ConcentricOnboardingView(pageContents: [<yourpage>, <yourbackground_color>])
	.(duration: 2.0)
  • Pass icon name as an argument if you want to change default icon on the button
ConcentricOnboardingView(pageContents: [<yourpage>, <yourbackground_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 the ConcentricOnboarding examples:

  • Clone the repo https://github.com/exyte/ConcentricOnboarding.git
  • Open ConcentricOnboardingExample.xcodeproj in the Xcode
  • Try it!

Installation

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/exyte/ConcentricOnboarding.git")
]

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 AnchoredPopup - Anchored Popup grows "out" of a trigger view (similar to Hero animation) 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 CalendarView - Calendar view with fully customizable month/day cells 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

ยฉ 2026 GitRepoTrend ยท exyte/ConcentricOnboarding ยท Updated daily from GitHub