SidebarOverlay 4.2.2

SidebarOverlay 4.2.2

测试已测试
Lang语言 SwiftSwift
许可 MIT
发布上次发布2018年2月
SwiftSwift 版本3.0
SPM支持 SPM

Alexander Perechnev 维护。



  • 作者:
  • Alexander Perechnev

SidebarOverlay

codebeat badge Join the chat at https://gitter.im/aperechnev/SidebarOverlay Travis CI CocoaPods CocoaPods CocoaDocs codecov.io

SidebarOverlay是一个侧边菜单的实现,类似于ECSlidingViewController。区别在于,在SidebarOverlay中,当用户打开侧边菜单时,侧边菜单会覆盖顶部视图,如下面的截图所示

SidebarOverlay application example

安装

开始使用SidebarOverlay进行开发的最简单方法是使用CocoaPods安装它。只需将其添加到您的Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

pod 'SidebarOverlay'

入门指南

使用SidebarOverlay来开始开发非常简单。首先,我们必须在我们的storyboard上创建三个视图控制器

  • 容器视图控制器
  • 顶部视图控制器
  • 侧边视图控制器

容器视图控制器是根视图控制器,为我们完成所有魔法。必须对SOContainerViewController进行子类化,并将其分配给我们的容器视图控制器。然后我们可以设置顶部和侧边视图控制器

import SidebarOverlay

class ContainerViewController: SOContainerViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    
        self.menuSide = .Right
        self.topViewController = self.storyboard?.instantiateViewControllerWithIdentifier("topScreen")
        self.sideViewController = self.storyboard?.instantiateViewControllerWithIdentifier("leftScreen")
    }

}

将容器视图控制器设置为storyboard上的初始视图控制器,带有侧边栏的应用程序准备就绪,可以运行。

以编程方式打开侧边菜单

如果用户不仅能通过滑动手势打开侧边菜单,还能通过点击菜单按钮打开,那总是好事。要编程打开侧边菜单,将容器视图控制器的isSideViewControllerPresented属性设置为true

class TopViewController: UIViewController {
    
    @IBAction func showMeMyMenu () {
        if let container = self.so_containerViewController {
            container.isSideViewControllerPresented = true
        }
    }

}

如您所见,我们有一个名为so_containerViewController的属性。此属性会自动添加到所有视图控制器中,您可以在任何地方访问它。

要关闭侧边菜单,只需将isSideViewControllerPresented属性设置为false

从侧边菜单更改顶部视图控制器

由于您已经在左视图控制器上 Implemented侧边菜单,所以每次用户在菜单中选择一个项时,都需要显示不同的顶部视图控制器。这很简单。只需设置容器视图控制器的topViewController属性

// Table view delegate method that invokes when user chooses an item in UITableView
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let profileViewController = self.storyboard!.instantiateViewControllerWithIdentifier("profileViewController")
    self.so_containerViewController.topViewController = profileViewController
}

如何贡献

请遵循git-flow约定,并在贡献前确保所有测试都通过。欢迎您的询问和合并请求。

代码覆盖率

codecov.io

版本控制

我们使用语义版本控制

支持

如果您需要帮助,您可以加入我们的gitter 室

许可

SidebarOverlay在MIT许可下发布。详细信息请参阅LICENSE。