Ahoy 2.0.0

Ahoy 2.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年10月
SwiftSwift 版本4.0
SPM支持 SPM

Mauricio CousillasEnrique Galindo 维护。



Ahoy 2.0.0

Xmartlabs SRL 提供。

简介

Ahoy 是一个 Swift 库,可以帮助您为用户构建出色的引导体验。

使用方法

为了设置您的引导,您需要定义 2 个组件

  • 您将要使用的具体视图控制器,它应从 OnboardingViewController 继承。这将处理与显示幻灯片和相关全局控制逻辑相关的特定逻辑(例如跳过按钮)。
  • 一个 Presenter,它应该实现 OnboardingPresenter 协议。这将处理每个单元格的特定功能(哪种文本放在哪里,单元格类型等。)

基本设置

  • 创建自己的 presenter 实现,无论是实现 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):每次单元格的可见性发生变化时都会调用,可以使用它来实现单元格之间的动画。

BasePresenter

默认情况下,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: (() -> ())?

BottomOnobardingController

Ahoy 提供了 OnboardingViewController 的另一个实现,它在屏幕底部具有全局控制。该 BottomOnobardingController 使用 BottomPresenter 作为 presenter。

要求

  • iOS 9.0+
  • Xcode 9.0+

参与进来

  • 如果您 希望贡献,请随时 提交拉取请求
  • 如果您 有功能请求,请 打开工单
  • 如果您发现了一个错误或需要帮助,请提交问题前先查看以前的错误,常见问题解答(FAQ)以及StackOverflow(标签:"Ahoy")上的相关帖子。

在 contributes 前请查看 CONTRIBUTING 文件以获取更多信息。

如果您在自己的应用程序中使用了 Ahoy,我们很乐意听到您的意见!请在 twitter 上联系我们。

示例

按照以下 3 步运行示例项目:克隆 Ahoy 仓库,打开 Ahoy 工作空间,并运行 Example 项目。

作者

变更日志

可以在 CHANGELOG.md 文件中找到。