CTXTutorialEngine

Travis CI Swift Version License SPM Compatible Carthage compatible CocoaPods Compatible Platform

CTXTutorialEngine 是一个库,它提供了显示提示甚至教程的能力,以引导用户进入您的精彩应用。

功能特点

系统要求

安装

CocoaPods

platform :ios, '11.0'
use_frameworks!

pod 'CTXTutorialEngine', '~> 3.0.0'

Carthage

在您的 Cartfile 文件中,添加

github "andymedvedev/CTXTutorialEngine" ~> 3.0.0

Swift Package Manager

dependencies: [
.package(url: "https://github.com/andymedvedev/CTXTutorialEngine.git", .upToNextMajor(from: "3.0.0")))
]

不要忘记添加 import CTXTutorialEngine

快速开始

你想为某个 UIView 显示提示视图。

  1. AppDelegateapplication(_:didFinishLaunchingWithOptions:) 中添加以下代码
CTXTutorialEngine.shared.addTutorials { error in
    if let error = error {
        //handle error
    }
}
    
CTXTutorialEngine.shared.start()
  1. CTXTutorialConfig.json 添加到您的项目,内容如下
{
    "tutorials": [
        {
            "id": "0",
            "name": "My view tutorial",
            "events": [
                {
                    "CTXTutorialViewsShownEvent": {
                        "event": {
                            "steps": [
                                {
                                    "text": "Hello world!",
                                    "accessibilityIdentifier": "myView"
                                }
                            ]
                        }
                    }
                }
            ]
        }
    ]
}

你的 ViewCotroller 的代码应该如下所示

import CTXTutorialEngine

class ViewController: CTXTutorialViewController {

    private let myView: UIView = ...
    private let engine = CTXTutorialEngine.shared
    
    override func viewDidLoad() {
        super.viewDidLoad()

        myView.accessibilityIdentifier = "myView"

        view.addSubview(myView)
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        engine.observe(self, contentType: .dynamic)
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)

        engine.unobserve(self)
    }
}
  1. 默认的提示视图将出现,它将是纯白色,带有黑色文本和灰色按钮,但如果您想更改外观,您应该设置 CTXTutorialEngine.shared.appearance 的参数。您可以在应用程序启动时或教程的每个步骤中通过让您的 ViewController 遵循 CTXTutorialEngineDelegate 来完成此操作
extension ViewController: CTXTutorialEngineDelegate {

    func engineWillShowTutorialStep(_ engine: CTXTutorialEngine, tutorial: CTXTutorial, with stepInfo: CTXTutorialStepPresentationInfo) {
        let appearance = engine.appearance
        ...
    }
}

并且不要忘记在 viewDidAppear(_:) 中设置 engine.delegate = self

高级设置

TODO

贡献

我们非常欢迎您为 CTXTutorialEngine 做出贡献,请查看 LICENSE 文件以获取更多信息。

特别感谢

Eugene Cherkasov (https://github.com/johnnie-che)

许可协议

MIT 许可协议。 详细信息请参阅 LICENSE 文件