从应用委托打开控制器

Posted

技术标签:

【中文标题】从应用委托打开控制器【英文标题】:Open controller from app delegate 【发布时间】:2016-12-28 17:43:22 【问题描述】:

如果使用下面的代码单击推送通知,我正在尝试从应用程序委托打开视图控制器

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) 
        if(application.applicationState==UIApplicationState.Inactive )
            let sdViewController = mainStoryboardIpad.instantiateViewControllerWithIdentifier("StudentViewController") as! StudentViewController
            let navController = UINavigationController(rootViewController: sdViewController)
            navController.setViewControllers([sdViewController], animated:true)
            self.window?.rootViewController = navController
       


控制器打开,但显示导航的菜单图标不起作用。我怎样才能让菜单图标显示侧面导航。

【问题讨论】:

究竟是什么不在这里工作?可以附上图片吗? @Honey 代码工作正常,但使用该代码控制器中的菜单图标在打开时不起作用 你用什么库做菜单? 【参考方案1】:

试试这个

let rootViewController = self.window!.rootViewController as! UINavigationController
rootViewController.pushViewController(sdViewController, animated: true)

【讨论】:

以上是关于从应用委托打开控制器的主要内容,如果未能解决你的问题,请参考以下文章

从应用委托类调用视图控制器的方法

从应用程序委托中呈现故事板视图控制器?

从应用程序委托获取当前视图控制器(模式是可能的)

如何从应用程序委托、情节提要、iOS6 获取我的视图控制器的实例

Objective-C – 从应用程序委托向视图控制器发送消息

通过应用程序委托从表格视图控制器更改单元格内的值