我在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
为全屏,无NavigationController
或TabBarController
。有同样问题或有解决方案的人?
答案 0 :(得分:0)
您正在以模态方式呈现视图控制器,这意味着没有标签栏控制器和导航控制器。
如果您想查看其中任何一个,您可以use a segue programatically(请参阅该文档的“以编程方式启动Segue”部分)推送到“AddTableViewController
”或将标签栏控制器连接到插座然后选择包含“AddTableViewController
”的标签。无需再次实例化您的主故事板(当您的应用程序启动时,它已经加载到内存中)。