DTOnboarding

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

一个 macOS 入门引导组件。

安装

使用 Swift Package Manager 安装。使用 master 分支。

依赖

要求

演示/示例

可以编译并运行 Demo 文件夹中的示例,或者查看在 Crypto Tools 中使用的组件。

用法

在你的 AppDelegate.swift 或类似文件中使用以下代码。

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)
    }
}

许可证

本软件基于 MIT 许可证开源,详情请参见 LICENSE。