2017-05-14 52 views
0

interfa builder flow我正在使用AKSwiftSlideMenu作爲應用程序的基礎。以編程方式打開已連接到導航控制器的視圖控制器

我有一個視圖控制器(HomeVC)連接到導航控制器。

如果故事板入口點指向HomeVC,那麼當然我會得到菜單,但是我的應用程序需要在沒有菜單的情況下啓動,並且只有在完成了某些屏幕和任務之後,我才能導航到HomeVC並允許用戶訪問到菜單。

我注意到,如果ai在沒有連接到導航控制器的起始視圖控制器上放置按鈕,並通過拖動+ cntrl將該按鈕直接連接到導航控制器,然後按下按鈕將使我從沒有菜單的視圖控制器到HomeVC並顯示菜單。

我如何做到這一點編程

預先感謝任何幫助

編輯:我曾嘗試下面的代碼

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    let newViewController = storyBoard.instantiateViewController(withIdentifier: "Home") as! UINavigationController 
    self.present(newViewController, animated: true, completion: nil) 

沒有工作具有以下ERR

導致

無法將類型'myApp.HomeVC'(0x10a159280)的值轉換爲'UINavigationController'(0x10cc2d3c8)。

+0

請提供更多信息,你想要什麼。如果可能的話,共享一些屏幕或流程圖。 謝謝 – shubhamagg

+0

嗨,補充流程圖。我想要的是從起始點視圖控制器到顯示菜單的視圖控制器,但以編程方式而不是通過按鈕和繼續。 –

回答

0
let newViewController = storyBoard.instantiateViewController(withIdentifier: "Home") as! UINavigationController 
s 

「Home」不是UINavigationController。從這一行刪除as! UINavigationController,錯誤將消失。

+0

嗨丹尼爾,真的,刪除! UINavigationController將打開HomeVC視圖控制器,但沒有導航控制器的菜單,因此菜單在視圖中不可見。如果我將開始按鈕直接連接到homeVC而不是導航控制器,也會發生同樣的情況。 –

+0

然後實例化導航控制器並呈現它,而不是實例化主視圖控制器。 –

0

謝謝丹尼爾告訴我實例化導航控制器。結束給導航控制器一個故事板ID命名爲ccontroller和下面的代碼做我所需要的

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let vc = storyboard.instantiateViewController(withIdentifier: "ccontroller") as! UINavigationController 
    self.present(vc, animated: true, completion: nil) 
相關問題