exyte
  • July 29, 2025

Concentric Onboarding


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

 

   SPM Cocoapods License: MIT

Usage


  1. Create View‘s descendant class for your pages.
  2. Create at least two pages and fill them with content.
  3. Create an array of tuple – (page, background color).
  4. Create ConcentricOnboardingView and place it in your view hierarchy.

     

struct ContentView: View {
var body: some View {
return ConcentricOnboardingView(pageContents: [<your_page>, <your_background_color>])
}
}

  1. Pass duration as an argument if you want animation to be faster/slower

ConcentricOnboardingView(pageContents: [<your_page>, <your_background_color>])
.(duration: 2.0)

  1. 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 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.

GitHub


View Github

YOU MIGHT ALSO LIKE...
MijickPopups Hero

  Popups Alerts Resizable Sheets Banners

SwiftUI Tooltip

This package provides you with an easy way to show tooltips over any SwiftUI view, since Apple does not provide ...

SimpleToast for SwiftUI

SimpleToast is a simple, lightweight, flexible and easy to use library to show toasts / popup notifications inside iOS or ...

SSToastMessage

Create Toast Views with Minimal Effort in SwiftUI Using SSToastMessage. SSToastMessage enables you to effortlessly add toast notifications, alerts, and ...

ToastUI

A simple way to show toast in SwiftUI   Getting Started • Documentation • Change Log