FlowingMenu

Supported Platforms Version Swift Package Manager compatible Carthage compatible Build Status codecov.io codebeat badge

FlowingMenu 提供了一个交互式的转场管理器,用于展示带有流动和弹跳效果的菜单。Objective-C 版本请见 https://github.com/yannickl/YLFlowingMenu

FlowingMenu

要求用法安装贡献联系方式许可协议

要求

用法

首先,导入 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 Manager

您可以使用 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

许可协议 (MIT)

版权所有 (c) 2015-至今 - Yannick Loriot

特此授予任何人免费许可,以获取本软件及其相关文档文件(“软件”)的副本,并在不受限制的情况下处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向为此目的而提供软件的人员提供软件,但须符合以下条件

上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。

本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有者均不对任何索赔、损害赔偿或其他责任负责,无论是在合同诉讼、侵权行为或其他方面,由软件或软件的使用或其他交易引起、产生或与之相关的责任。