测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年10月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 Mauricio Cousillas、Enrique Galindo 维护。
由 Xmartlabs SRL 提供。
Ahoy 是一个 Swift 库,可以帮助您为用户构建出色的引导体验。
为了设置您的引导,您需要定义 2 个组件
OnboardingViewController
继承。这将处理与显示幻灯片和相关全局控制逻辑相关的特定逻辑(例如跳过按钮)。Presenter
,它应该实现 OnboardingPresenter
协议。这将处理每个单元格的特定功能(哪种文本放在哪里,单元格类型等。)OnboardingPresenter
协议还是从 BasePresenter
继承。OnboardingViewController
子类,并将 presenter
属性设置为您的 presenter 类的实例。必须在调用 super.viewDidLoad()
之前执行此操作。完成这些后,您就可以开始了!您可以通过 IBOutlets 或直接通过代码添加任何其他 UI 组件。
import Ahoy
class MovieFanOnboardingController: OnboardingViewController {
override func viewDidLoad() {
presenter = MovieFanPresenter()
presenter.onOnBoardingFinished = { [weak self] in
_ = self?.navigationController?.popViewController(animated: true)
}
super.viewDidLoad()
}
}
class MovieFanPresenter: BasePresenter {
// Your presenter implementation's here
}
为了管理用户交互,当引导完成、跳过或幻灯片正在显示时,Ahoy 提供了一些辅助程序来一致地管理这些操作
onOnboardingSkipped
:由控制器在用户点击跳过操作时调用。onOnBoardingFinished
:由控制器在用户点击完成时调用。visibilityChanged(for cell: UICollectionViewCell, at index: Int, amount: CGFloat)
:每次单元格的可见性发生变化时都会调用,可以使用它来实现单元格之间的动画。默认情况下,Ahoy 提供了 OnboardingPresenter
的实现,即 BasePresenter
,它处理基本功能并提供了一些定制参数。
public var cellBackgroundColor: UIColor
public var doneButtonColor: UIColor
public var doneButtonTextColor: UIColor
public var textColor: UIColor
public var swipeLabelText: String
public var titleFont: UIFont
public var bodyFont: UIFont
public var skipColor: UIColor
public var skipTitle: String
public var model: [OnboardingSlide]
public var onOnBoardingFinished: (() -> ())?
public var onOnboardingSkipped: (() -> ())?
Ahoy 提供了 OnboardingViewController
的另一个实现,它在屏幕底部具有全局控制。该 BottomOnobardingController
使用 BottomPresenter
作为 presenter。
在 contributes 前请查看 CONTRIBUTING 文件以获取更多信息。
如果您在自己的应用程序中使用了 Ahoy,我们很乐意听到您的意见!请在 twitter 上联系我们。
按照以下 3 步运行示例项目:克隆 Ahoy 仓库,打开 Ahoy 工作空间,并运行 Example 项目。
可以在 CHANGELOG.md 文件中找到。