CTXTutorialEngine 是一个库,它提供了显示提示甚至教程的能力,以引导用户进入您的精彩应用。
platform :ios, '11.0'
use_frameworks!
pod 'CTXTutorialEngine', '~> 3.0.0'
在您的 Cartfile
文件中,添加
github "andymedvedev/CTXTutorialEngine" ~> 3.0.0
dependencies: [
.package(url: "https://github.com/andymedvedev/CTXTutorialEngine.git", .upToNextMajor(from: "3.0.0")))
]
不要忘记添加 import CTXTutorialEngine
你想为某个 UIView 显示提示视图。
AppDelegate
的 application(_:didFinishLaunchingWithOptions:)
中添加以下代码CTXTutorialEngine.shared.addTutorials { error in
if let error = error {
//handle error
}
}
CTXTutorialEngine.shared.start()
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)
}
}
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 文件。