OnboardingKit 0.0.5

OnboardingKit 0.0.5

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2016年11月
SwiftSwift 版本3.0
SPM支持 SPM

Eugene Mozharovsky 维护。



OnboardingKit

OnboardingKit 是一个简单且交互式的框架,用于使 iOS 入门体验变得简单而有趣!

需求

  • Swift 3 & Xcode 8.x.x(查看 v0.0.3 & swift2分支以获取之前版本)
  • iOS 8+

功能

  • [x] 可定制页面视图
  • [x] 可定制背景图片
  • [x] 可定制容器背景图片
  • [x] 可动画页面控制
  • [x] 滑动手势切换页面时的动画过渡

安装

使用

导入模块。

  import OnboardingKit

添加一个继承自 OnboardingViewUIView 实例。传统上,您可以通过 Storyboard 或手动操作完成此操作。

以必须方法的方式实现 OnboardingViewDataSourceOnboardingViewDelegate 协议。您必须做的是让 OnboardingView 了解它应该构建多少页面以及为这些页面提供配置。

  extension DataModel: OnboardingViewDataSource, OnboardingViewDelegate {
      func numberOfPages() -> Int {
        return 1
      }

      func onboardingView(_ onboardingView: OnboardingView, configurationForPage page: Int) -> OnboardingConfiguration {
        return OnboardingConfiguration(
          image: UIImage(named: "DemoImage")!,
          itemImage: UIImage(named: "DemoIcon")!,
          pageTitle: "Demo Title",
          pageDescription: "Demo Description Text!",
          backgroundImage: UIImage(named: "DemoBackground"),
          topBackgroundImage: nil, // your image here
          bottomBackgroundImage: nil // your image here
      )
  }

OnboardingConfiguration 以这种方式实现

  public struct OnboardingConfiguration {
    let image: UIImage
    let itemImage: UIImage
    let pageTitle: String
    let pageDescription: String

    let backgroundImage: UIImage?
    let topBackgroundImage: UIImage?
    let bottomBackgroundImage: UIImage?
  }

如果您需要为 PageView 提供自定义配置,可以通过代理的方法 onboardingView(_:, configurePageView _:, atPage _:) 实现。

 func onboardingView(_ onboardingView: OnboardingView, configurePageView pageView: PageView, atPage page: Int) {
    pageView.titleLabel.textColor = UIColor.white
    pageView.titleLabel.layer.shadowOpacity = 0.6
    pageView.titleLabel.layer.shadowColor = UIColor.black.cgColor
    pageView.titleLabel.layer.shadowOffset = CGSize(width: 0, height: 1)
    pageView.titleLabel.layer.shouldRasterize = true
    pageView.titleLabel.layer.rasterizationScale = UIScreen.main.scale

    if DeviceTarget.IS_IPHONE_4 {
      pageView.titleLabel.font = UIFont.boldSystemFont(ofSize: 30)
      pageView.descriptionLabel.font = UIFont.systemFont(ofSize: 15)
    }
  }

就是这样。 :]

社区

  • 有关帮助和反馈,请使用 问题
  • 有新功能吗?请提交 拉取请求
  • 通过电子邮件发送紧急查询。

许可证

OnboardingKit 在 MIT 许可证下可用,有关更多信息,请参阅 LICENSE 文件。