FlowingMenu
FlowingMenu提供了一个交互式过渡管理器,以流动和弹跳效果显示菜单。这是Objective-C的对应物https://github.com/yannickl/YLFlowingMenu。
需求
- iOS 9.0+
- Xcode 9.0+
- Swift 4.2+
使用
首先,导入FlowingMenu
import FlowingMenu
然后,添加一个FlowingMenuTransitionManager
对象,它充当您要显示的视图控制器的transitioningDelegate
let flowingMenuTransitionManager = FlowingMenuTransitionManager()
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = segue.destination
vc.transitioningDelegate = flowingMenuTransitionManager
}
如果您想实现交互式过渡,您需要实现FlowingMenuDelegate
方法并定义与手势交互的视图
var menu: UIViewController?
override func viewDidLoad() {
super.viewDidLoad()
// Add the pan screen edge gesture to the current view
flowingMenuTransitionManager.setInteractivePresentationView(view)
// Add the delegate to respond to interactive transition events
flowingMenuTransitionManager.delegate = self
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = segue.destination
vc.transitioningDelegate = flowingMenuTransitionManager
// Add the left pan gesture to the menu
flowingMenuTransitionManager.setInteractiveDismissView(vc.view)
// Keep a reference of the current menu
menu = vc
}
// MARK: - FlowingMenu Delegate Methods
func flowingMenuNeedsPresentMenu(_ flowingMenu: FlowingMenuTransitionManager) {
performSegue(withIdentifier: "PresentSegueName", sender: self)
}
func flowingMenuNeedsDismissMenu(_ flowingMenu: FlowingMenuTransitionManager) {
menu?.performSegue(withIdentifier: "DismissSegueName", sender: self)
}
祝您玩得开心!:)
更多信息...
要进一步了解,请参阅文档和示例项目。
注意:欢迎所有贡献
安装
CocoaPods
如果没有,请先安装 CocoaPods
$ [sudo] gem install cocoapods
$ pod setup
转到您的 Xcode 项目的目录中,创建和编辑您的 Podfile 并添加 FlowingMenu
$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'FlowingMenu', '~> 3.1.0'
将安装到项目中
$ pod install
使用 .xcworkspace 文件(而不是常规的项目文件)在 Xcode 中打开您的项目
$ open MyProject.xcworkspace
现在您可以在文件中 import FlowingMenu
框架。
Carthage
Carthage 是一个集中式依赖关系管理器,可以自动化将框架添加到您的 Cocoa 应用程序的过程。
您可以使用以下命令通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 FlowingMenu
集成到您的 Xcode 项目中,在您的 Cartfile
文件中指定它
github "yannickl/FlowingMenu" >= 3.1.0
Swift 包管理器
您可以通过在您的 Package.swift
文件中添加适当的描述来使用 Swift 包管理器 安装 FlowingMenu
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
targets: [],
dependencies: [
.Package(url: "https://github.com/yannickl/FlowingMenu.git", versions: "3.1.0" ..< Version.max)
]
)
请注意,Swift 包管理器 仍在早期设计和开发阶段,更多详细信息请查看其 GitHub 页面。
手动安装
下载 项目并在您的项目中复制 FlowingMenu
文件夹以使用。
贡献
欢迎并鼓励贡献 ♡。
联系
Yannick Loriot
许可(MIT)
版权所有 (c) 2015-至今 - Yannick Loriot
在此特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用权,无任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向获得软件的人授予上述权利,但需遵守以下条件
上述版权声明和本许可声明必须包含在软件的所有副本或实质性部分。
软件按“现状”提供,不提供任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者都不会对任何索赔、损害或其他责任负责,无论基于合同、侵权或其他原因,无论该索赔、损害或其他责任源于、发生于或与软件或软件的使用或其他方式相关