测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可 | MIT |
发布上次发布 | 2018年2月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✓ |
由Alexander Perechnev 维护。
SidebarOverlay
是一个侧边菜单的实现,类似于ECSlidingViewController
。区别在于,在SidebarOverlay
中,当用户打开侧边菜单时,侧边菜单会覆盖顶部视图,如下面的截图所示
开始使用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约定,并在贡献前确保所有测试都通过。欢迎您的询问和合并请求。
我们使用语义版本控制。
如果您需要帮助,您可以加入我们的gitter 室。
SidebarOverlay在MIT许可下发布。详细信息请参阅LICENSE。