All Projects → demianturner → DTOnboarding

demianturner / DTOnboarding

Licence: MIT License
A macOS onboarding component

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to DTOnboarding

ViewPagers
When using the ViewPager widget it is not always obvious to the user that there are adjacent views they can navigate to. By implementing this widget you provide a clear indicator that there exists additional content which they can click or swipe to see.
Stars: ✭ 43 (+104.76%)
Mutual labels:  pagecontrol, pagecontroller
TVToday
iOS TV Shows app with TMDb Api. RxSwift, MVVM, Clean Architecture. Tuist + Swift Package Manager
Stars: ✭ 27 (+28.57%)
Mutual labels:  spm
WOPageControl-OC
小圆点 / PageControl
Stars: ✭ 48 (+128.57%)
Mutual labels:  pagecontrol
react-native-chi-page-control
Cool page control animations written in React Native
Stars: ✭ 18 (-14.29%)
Mutual labels:  pagecontrol
Ether
A Command-Line Interface for the Swift Package Manager
Stars: ✭ 86 (+309.52%)
Mutual labels:  spm
TagField
🏷 Simple Tag Field for SwiftUI 🏷
Stars: ✭ 19 (-9.52%)
Mutual labels:  spm
Columbus
A feature-rich country picker for iOS, tvOS and watchOS.
Stars: ✭ 23 (+9.52%)
Mutual labels:  spm
bow-lite
🏹 Bow Lite is a cross-platform library for Typed Functional Programming in Swift
Stars: ✭ 27 (+28.57%)
Mutual labels:  spm
yaproq
A templating language in Swift
Stars: ✭ 57 (+171.43%)
Mutual labels:  spm
KakaoSDK-SwiftPM
wrapping KakaoSDK source to Swift Package
Stars: ✭ 17 (-19.05%)
Mutual labels:  spm
blinkid-flutter
ID scanning plugins for cross-platform apps built with Flutter.
Stars: ✭ 55 (+161.9%)
Mutual labels:  onboarding
PSAutomator
This PowerShell Module is new approach to onboarding, offboarding and business as usual processes running in companies infrastructure.
Stars: ✭ 56 (+166.67%)
Mutual labels:  onboarding
react-native-onboarding-animate
React Native component for onboarding processes, supported background animation and given animatedValue
Stars: ✭ 21 (+0%)
Mutual labels:  onboarding
SwiftGradients
Useful extensions for UIViews and CALayer classes to add beautiful color gradients.
Stars: ✭ 15 (-28.57%)
Mutual labels:  spm
FitDataProtocol
Swift Implementation the Garmin Flexible and Interoperable Data Transfer Protocol.
Stars: ✭ 32 (+52.38%)
Mutual labels:  spm
blinkid-ui-android
Customizable UI library that includes camera management, scanning screen, and document selection module.
Stars: ✭ 33 (+57.14%)
Mutual labels:  onboarding
column-text-view-ui
📄 Column Text View is an adaptive UI component that renders text in columns, horizontally [iOS 12, UIKit, TextKit, SwiftUI].
Stars: ✭ 11 (-47.62%)
Mutual labels:  spm
RoundCoachMark
The Swift library for showing the rounded coach marks (useful for onboarding or run-time help purposes)
Stars: ✭ 66 (+214.29%)
Mutual labels:  onboarding
concurrency-kit
🚄 Concurrency abstractions framework for Apple Platforms [Task, Atomic, Lock, Operation, etc.].
Stars: ✭ 17 (-19.05%)
Mutual labels:  spm
NeumorphismTab
Custom TabBarController with Neumorphism.
Stars: ✭ 78 (+271.43%)
Mutual labels:  spm

DTOnboarding

Swift5 Swift Package Manager GitHub release (latest SemVer) GitHub macOS

A macOS onboarding component.

  • creates a window containing a configurable number of screens
  • use buttons or gestures to navigate
  • component size, layout and content easily are configurable

Installation

Install using Swift Package Manager. Use master branch.

Dependencies

Requirements

  • OS X 10.14+
  • Xcode 11.0 or above

Demo/Example

Either compile and run the example in the Demo folder or see the component used in Crypto Tools.

Usage

Use the following code in your AppDelegate.swift or similar.

class AppDelegate: NSObject, NSApplicationDelegate {
    private var onboardingWindowController: NSWindowController?

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        let config = OnboardingConfig(
            windowWidth: 350,
            windowHeight: 430,
            windowTitle: "my sample title",
            pageCount: 3,
            pageControlWidth: 200,
            pageControlHeight: 20,
            pageControlVerticalDistanceFromBottom: 20, 
            pageTransitionStyle: .stackBook
        )

        let pages = [
            DTPageController(controllerId: "1"),
            DTPageController(controllerId: "2"),
            DTPageController(controllerId: "3")
        ]

        let onboardingController = DTOnboardingController(config: config, pages: pages)
        let frame = onboardingController.view.bounds
        let myWindow = NSWindow(
            contentRect: .init(origin: .zero, size: frame.size),
            styleMask: [.closable, .miniaturizable, .resizable, .titled],
            backing: .buffered,
            defer: false
        )
        myWindow.title = config.windowTitle
        myWindow.center()

        onboardingWindowController = NSWindowController(window: myWindow)
        onboardingWindowController?.contentViewController = onboardingController
        onboardingWindowController?.showWindow(self)
    }
}

License

This software is Open Source under the MIT license, see LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].