CariocaMenu 2.0.1

CariocaMenu 2.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018年8月
SPM支持 SPM

Arnaud Schloune 维护。



PRs Welcome Carthage compatible Version iOS 9.0+ Swift 4.0+ License CocoaPods Twitter URL

⚡️快速预览

最快的零点击 iOS 菜单

CariocaMenu 是一个简单、优雅、快速的 iOS 应用导航菜单。

🏆特点

  • 从屏幕边缘向左/右单次滑动即可访问
  • 在指示器上点击即可访问
  • 可自定义菜单指示器
  • 菜单项支持图像、表情符号/文本
  • 回弹模式
  • 支持旋转(完全自动布局)
  • 支持 iPhone X 和刘海屏!
  • 完整技术文档

📝要求

  • 自动布局
  • iOS 9.0+
  • Swift 4.0

📢通讯

  • 如果您需要帮助,请使用 Stack Overflow。 (Tag 'CariocaMenu')
  • 如果您想问一个普遍的问题,请使用 Stack Overflow
  • 如果您发现了一个错误,请创建一个问题。
  • 如果您有功能请求,请创建一个问题。
  • 如果您想做出贡献,请提交拉取请求。
  • 如果您使用该控件,请联系我,以便在此页面上提及您的应用。

📲安装

CocoaPods

CariocaMenu 现已在 CocoaPods 上提供。只需将以下内容添加到您项目的 Podfile 中,即可开始使用。

use_frameworks!

pod 'CariocaMenu', '~> 2.0.1'

Carthage

Carthage 是一个去中心化的依赖管理器,它构建您的依赖项并为您提供二进制框架。

您可以使用以下命令使用 Homebrew 安装 Carthage

$ brew update
$ brew install carthage

要使用 Carthage 将 CariocaMenu 集成到您的 Xcode 项目中,在您的 Cartfile 中指定它

github "arn00s/cariocamenu"

运行 carthage 以构建框架,并将构建的 CariocaMenu.framework 拖拽到您的 Xcode 项目中。

手动

如果您愿意,可以手动将CariocaMenu集成到您的项目中。

只需将目录下的所有文件拖放到您的项目中。


💻用法

准备您的菜单控制器

要创建和显示您的菜单,您需要创建一个自定义的 CariocaController(UITableViewController & CariocaDataSource)

这将为您的菜单设置和外观定义。请查看 DemoMenuContentController.swift 中的代码示例。

创建您的菜单

完整的代码请查看 MainViewController.swift

if let controller = self.storyboard?.instantiateViewController(withIdentifier: "DemoMenu")
    as? CariocaController {
      addChildViewController(controller)
      carioca = CariocaMenu(controller: controller,
                            hostView: self.view,
                            edges: [.right, .left],
                            delegate: self,
                            indicator: CariocaCustomIndicatorView()
                            )
      carioca.addInHostView()
}

管理旋转

要管理菜单的旋转,您需要将旋转事件传递到您的菜单实例。

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
  coordinator.animateAlongsideTransition(in: self.view, animation: nil, completion: { [weak self] _ in
    self?.carioca?.hostViewDidRotate()
  })
}

创建自定义指示器

这里是最简单的自定义指示器。您可以查看 CariocaIndicatorConfiguration 扩展以了解更多自定义选项。

class CariocaCustomIndicatorView: UIView, CariocaIndicatorConfiguration {
  ///This will use the basic shape, and change the color to black.
  var color: UIColor = UIColor.black
}

反弹

回飞镖总是回到起点。默认情况下,回飞镖设置为none。这意味着菜单将停留在用户放置的位置。

其他回飞镖选项包括:

  • horizontal:指示器总是返回到原始边缘。
  • vertical:指示器总是返回到原始Y位置。它可能从边缘切换。
  • originalPosition:指示器总是返回到原始位置

👨‍💻TODO

  • 在初始化时添加对边缘的检查。(只允许 .left 和 .right)
  • 添加UI测试
  • 添加一个实时教程,指导用户如何充分利用此菜单。

⚠️已知问题

检查(GitHub问题)

🤔常见问题解答

😍为什么我应该使用CariocaMenu

你在开发一个新iOS应用,希望用户体验有所创新。

🇧🇷为什么叫CariocaMenu

我不想使用每个人都使用的命名约定。我本来可以叫它ASSuperCoolMenu,但是这很糟糕。Carioca是指在里约热内卢生活的人🇧🇷。我在那里住了两个月,这个想法就是在那里产生的。

🤙🏼 联系

❤️贡献

这是一个开源项目,请随时贡献!

  • 打开问题
  • 提出自己的修复、建议,并提交包含更改的pull请求。

查看所有贡献者

项目由SwiftPlate生成

📝许可证

CariocaMenu在MIT许可证下发布。有关详细信息,请参阅LICENSE。