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

⚡️ 快速一览

最快的零点击 iOS 菜单

CariocaMenu 是一个为你的 iOS 应用而设的 简单优雅快速 的导航菜单。

🏆 功能特性

📝 要求

📢 交流

📲 安装

CocoaPods

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

use_frameworks!

pod 'CariocaMenu', '~> 2.0.1'

Carthage

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

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

$ brew update
$ brew install carthage

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

github "arn00s/cariocamenu"

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

手动

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

只需将 Sources/ 下的所有文件拖放到您的项目中即可。


💻 用法

准备您的菜单控制器

要创建和显示您的菜单,您需要创建一个自定义的 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。这意味着菜单将停留在用户放手的位置。

其他回旋镖选项有:

👨‍💻 TODO

⚠️已知问题

查看 (GitHub issues)

🤔 FAQ

😍 为什么我应该使用 CariocaMenu

您正在启动一个新的 iOS 应用程序,并且想要在用户体验上进行创新。

🇧🇷 为什么命名为 CariocaMenu

我不想使用 所有人 都在使用的相同命名约定。我可以将其命名为 ASSuperCoolMenu,但这太糟糕了。Carioca 是居住在里约热内卢 🇧🇷 的人。我在那里住了两个月,这个想法是在我在那里时产生的。

🤙🏼 联系方式

❤️ 贡献

这是一个开源项目,欢迎随意贡献!

查看 所有贡献者

项目使用 SwiftPlate 生成

📝 许可证

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