2015-11-01 146 views
0

我在使用此代碼的AppDelegate中創建一個快捷方式,當您在應用程序啓動前長按此按鈕。導航/ TabBarController消失

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。有同樣問題或有解決方案的任何人?

回答

0

你正在呈現一個視圖控制器模態,這意味着沒有標籤欄控制器和導航控制器。

如果您想查看其中的任何一個,您可以選擇use a segue programatically(請參閱該文檔的「啓動程序中的Segue」部分)以推送到您的「AddTableViewController」或將標籤欄控制器連接到插座,然後選擇標籤那有你的「AddTableViewController」。無需再次實例化主Storyboard(當您的應用程序啓動時,它已經加載到內存中)。