Lon*_*275 2 login ios navigation-drawer swift
我在我的应用程序中实现了一个侧抽屉,它要求我在我的应用程序委托中设置根视图控制器。我现在在登录屏幕上工作。要访问登录屏幕,我必须注释掉我设置根视图控制器的位置。用户登录后如何设置根视图控制器?
下面是我的应用程序委托(或其一部分)
应用程序委托
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let centerViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ViewController") as!ViewController
let drawerViewController = mainStoryboard.instantiateViewControllerWithIdentifier("DrawerViewController") as!DrawerViewController
let leftSideNav = UINavigationController(rootViewController: drawerViewController)
let centerNav = UINavigationController(rootViewController: centerViewController)
centerContainer = MMDrawerController(centerViewController: centerNav, leftDrawerViewController: leftSideNav)
centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.PanningCenterView;
centerContainer!.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.PanningCenterView;
//window!.rootViewController = centerContainer
window!.makeKeyAndVisible()
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
Run Code Online (Sandbox Code Playgroud)
我有一种方法可以在成功登录后处理 segue,但不知道如何在委托之外设置根控制器。总之,如果我取消注释该//window!.rootViewController = centerContainer行但无法访问登录视图,则导航有效
您可以动态交换根视图控制器:
self.view.window!.rootViewController = newVc
Run Code Online (Sandbox Code Playgroud)
一个简单的例子可以在这里找到:https : //stackoverflow.com/a/34951197/218152。
一个完整的例子可以在这里找到:https : //stackoverflow.com/a/32109767/218152。
交换rootViewController是一次性操作:没有后退按钮,没有动画。
| 归档时间: |
|
| 查看次数: |
3397 次 |
| 最近记录: |