0

AppDelegate当您在启动前长按应用程序时,我正在使用此代码创建快捷方式。

func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
    if(shortcutItem.type == "com.skalstad.addStuff")
    {
        let sb = UIStoryboard(name: "Main", bundle: nil) 
        let add =  sb.instantiateViewControllerWithIdentifier("AddTableViewController") as! AddTableViewController

        let root = UIApplication.sharedApplication().keyWindow?.rootViewController

        root?.presentViewController(add, animated: false, completion: {() -> Void in


            completionHandler(true)


        })
    }
}

当我打开快捷方式时,viewController是全屏,没有NavigationControllerTabBarController。任何人有同样的问题或有解决方案?

4

1 回答 1

0

您正在以模态方式呈现视图控制器,这意味着没有标签栏控制器和导航控制器。

如果您想查看其中任何一个,您可以以编程方式使用 segue (请参阅该文档的“以编程方式启动 Segue”部分)推送到您的“ AddTableViewController”或将标签栏控制器连接到插座,然后选择具有你的“ AddTableViewController”。无需再次实例化您的主故事板(启动应用程序时它已经加载到内存中)。

于 2015-11-01T11:22:42.460 回答