CoachMarker
CoachMarker
是一个简化入门教程的辅助工具
系统要求
iOS 8.0 或更高版本
安装
作为 CocoaPods 依赖项
Swift
将以下内容添加到您的 Podfile 中
pod 'CoachMarker', '~> 1.0'
Carthage
Carthage 是一个去中心化的依赖管理器,可以构建您的依赖并提供二进制框架。要使用 Carthage 将 CoachMarker 整合到您的 Xcode 项目中,请在您的 Cartfile
中指定它。
github "vicaren/CoachMarker" "master"
示例
使用 CoachMaker
非常简单。
基本实现
Swift
import CoachMarker
class ViewController: UIViewController {
private var coachMarker: CoachMarker?
let markerTexts = [
"Two driven jocks help fax my big quiz.",
"Pack my box with five dozen liquor jugs.",
"The five boxing wizards jump quickly." ]
let markerData = [ CoachMarkerCircleData(coordinate: CGPoint(x: 10, y: 10), radius: 30),
CoachMarkerCircleData(coordinate: CGPoint(x: 300, y: 50), radius: 60),
CoachMarkerSquareData(coordinate: CGPoint(x: 100, y: 100), size: CGSize(width: 200, height: 50))]
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
showCoachMarker()
}
func showCoachMarker() {
coachMarker = CoachMarker(parentView: self.view, dataSource: self)
coachMarker?.delegate = self
coachMarker?.showCoachMarker()
}
}
extension ViewController: CoachMarkerDataSource {
func numberOfMarkers(in marker: CoachMarker) -> Int {
return markerTexts.count
}
func coachMarker(_ coachMarker: CoachMarker, viewForItemAtIndex: Int) -> UIView {
let tutorial = Tutorial(frame: view.bounds)
tutorial.delegate = self
tutorial.infoText.text = markerTexts[viewForItemAtIndex]
return tutorial
}
func coachMarker(_ coachMarker: CoachMarker, markerForItemAtIndex: Int) -> CoachMarkerData {
return markerData[markerForItemAtIndex]
}
}
extension ViewController: CoachMarkerDelegate {
func coachMarkerDidShow(_ coachMarker: CoachMarker) {
// TODO: When CoachMarker finished
}
}
extension ViewController: TutorialDelegate {
func tutorialDidSkipTapped(tutorial: Tutorial) {
coachMarker?.skipCoachMarker()
}
func tutorialDidNextTapped(tutorial: Tutorial) {
coachMarker?.nextCoachMarker()
}
}
觉得这个文档有用吗?
觉得这个文档有用吗?
通过加入 star 给这个仓库提供支持。
并且关注 我,看看我接下来的作品!🤩
贡献
如果您在库或示例中发现了错误,请提交问题。
鼓励贡献补丁,可以通过分叉此项目并提交拉取请求来提交。
如果您已经为 noticeboard
做出了贡献,但您的名字不在列表中,请随时添加自己!
- Ahmet Dogu - 维护者
- Emre Ciftci - 协作者,改进
许可证
CoachMarker 采用 MIT 许可证,请参阅 LICENSE 文件。