如何创建侧抽屉控制器?

How do create the side-drawer controller?

我是 iOS 的新手。我已经能够成功实现 material 按钮和卡片视图,但是侧抽屉控制器是如何在故事板上完成的对我来说没有意义。有人可以帮忙编写故事板上的示例代码吗?

正在寻找带有打开侧边抽屉控制器的导航按钮的简单视图控制器。

根据我的经验,如果您想使用 NavigationDrawerController,您必须以编程方式初始化 NavigationDrawerController

但是,您仍然可以通过故事板布局根视图控制器和侧控制器,并确保在 Interface Builder 中为它们提供正确的故事板 ID。

这是我在 AppDelegate.swift

中的代码
let mainViewController         = instantiateViewControllerWithIdentifier("MainViewController") as! MainViewController        
let sideMenuViewController     = instantiateViewControllerWithIdentifier("SideMenuViewController") as! SideMenuViewController
let navigationController       = NavigationController(rootViewController: mainViewController, leftViewController: sideMenuViewController)        
let navigationDrawerController = NavigationDrawerController(rootViewController: navigationController)

window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.rootViewController = navigationDrawerController
window?.makeKeyAndVisible()

P.S。如果你想使用 UINavigationController,只需将 "MainViewController" 和 UINavigationViewController 嵌入故事板中,并给 UINavigationViewController 一个故事板 ID。最后,将 rootViewController 设置为您的 UINavigationController 实例,而不是 MainViewController.

已更新 Swift3Material 2.0

func instantiateViewControllerWithIdentifier(identifier: String) -> UIViewController {
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    return storyboard.instantiateViewController(withIdentifier: identifier)
}

let mainViewController = instantiateViewControllerWithIdentifier(identifier: "MainViewController") as! MainViewController
let sideMenuViewController = instantiateViewControllerWithIdentifier(identifier: "SideMenuViewController") as! SideMenuViewController
let navigationController = NavigationController(rootViewController: mainViewController)
let navigationDrawerViewController = NavigationDrawerController(rootViewController: navigationController, leftViewController: sideMenuViewController, rightViewController: nil)

window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = navigationDrawerViewController
window?.makeKeyAndVisible()