FlowingMenu 提供了一个交互式的转场管理器,用于展示带有流动和弹跳效果的菜单。Objective-C 版本请见 https://github.com/yannickl/YLFlowingMenu。
要求 • 用法 • 安装 • 贡献 • 联系方式 • 许可协议
首先,导入 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,请先安装
$ [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 是一个去中心化的依赖管理器,可以自动化将框架添加到您的 Cocoa 应用程序的过程。
您可以使用 Homebrew 和以下命令安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 FlowingMenu
集成到您的 Xcode 项目中,请在您的 Cartfile
文件中指定它
github "yannickl/FlowingMenu" >= 3.1.0
您可以使用 Swift Package Manager 安装 FlowingMenu
,方法是将正确的描述添加到您的 Package.swift
文件中
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 Package Manager 仍处于早期设计和开发阶段,有关更多信息,请查看其 GitHub 页面。
下载 项目并将 FlowingMenu
文件夹复制到您的项目中以使用它。
欢迎并鼓励贡献 ♡。
Yannick Loriot
版权所有 (c) 2015-至今 - Yannick Loriot
特此授予任何人免费许可,以获取本软件及其相关文档文件(“软件”)的副本,并在不受限制的情况下处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向为此目的而提供软件的人员提供软件,但须符合以下条件
上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。
本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有者均不对任何索赔、损害赔偿或其他责任负责,无论是在合同诉讼、侵权行为或其他方面,由软件或软件的使用或其他交易引起、产生或与之相关的责任。