⚡️ 快速预览
最快的零点击 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。