如何创建侧抽屉控制器?
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
.
已更新 Swift3
和 Material 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()
我是 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
.
已更新 Swift3
和 Material 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()