2015-05-31 76 views
8

我一直在爲一段時間的應用程序工作,它從AppDelegate推送視圖控制器。當它被按下時,視圖控制器上以前的導航欄消失。現在它是一個靜態的導航欄(不是導航控制器的一部分),但它以前一直還是不起作用。我究竟做錯了什麼?有沒有某種解決方法?以編程方式推送時導航欄消失

這是在AppDelegate中的代碼,我使用推:

var storyboard = UIStoryboard(name: "Main", bundle: nil) 
var PostView: AnyObject! = storyboard.instantiateViewControllerWithIdentifier("NewView") 

var rootViewController = self.window!.rootViewController as! UINavigationController 
rootViewController.pushViewController(PostView as! UIViewController, animated: true) 

pushViewController是一個我試圖推動。

回答

7

在正在努力推動,在viewDidLoad方法視圖控制器,試圖迫使導航欄不被隱藏

self.navigationController?.setNavigationBarHidden(false, animated: false) 

如果這會有所幫助,檢查,如果你的故事板視圖控制器又不是強迫視圖控制器隱藏的導航欄

希望幫助:)

0

rootViewControllerUINavigationController。您所看到的任何控制器都會使用UINavigationController中定義的UINavigationBar

如果您不希望UINavigationController附帶的「自動」UINavigationBar,只需將其他類型的視圖控制器設置爲初始視圖控制器(或將視圖控制器設置爲初始視圖控制器)。

+0

我的問題不是我不想使用導航控制器。這是我的NavController沒有顯示出來。只有沒有導航欄的視圖是。 –

+0

我想要它,以便我可以回到以前的視圖控制器 –

+0

而且您確定在Storyboard中有一個UINavigationController作爲初始視圖控制器? –

1

試試這個:

var storyboard = UIStoryboard(name: "NewStoryBoard", bundle: nil) 

let vc = storyboard.instantiateViewController(withIdentifier: "NewView") as! UIViewController 

self.navigationController?.pushViewController(vc, animated: true)