我有一個UIViewController(一個隱藏的UINavigationController),其中包含一個UIButton。點擊按鈕在另一個UIViewController上調用instantiateViewControllerWithIdentifier(並傳遞第二個UIViewController的一些數據)。instantiateViewControllerWithIdentifier打破UINavigationController的流動
嘗試,因爲我可能,我不能得到第二的UIViewController以顯示其的UINavigationController的導航欄,即使我有它嵌入在UINavigationController的。儘管如此,這並不是一場災難,因爲我並不是真的想要它,而只是隱藏它。我在第二個UIViewController中添加了一個UIButton,並在Interface Builder中通過單擊並拖動鼠標來添加一個「Show」segue回到第一個UIViewController。
但是現在,當您訪問的任何其他的UIViewController(和只後,按照上述步驟),該UINavigationBar的缺失。
這裏是我是如何加載第二的UIViewController:
let destinationViewController = self.storyboard?.instantiateViewControllerWithIdentifier("viewGold") as! SecondViewController
destinationViewController.results = result
self.presentViewController(destinationViewController, animated: true, completion: nil)
所以:
- 它是可怕的我想不是兩個UIViewControllers的顯示UINavigationBar的?
- 我是否正確加載SecondViewController?
- 有沒有辦法模仿點擊SecondViewController的UIButton點擊「返回」UINavigationBar?
非常感謝您的解釋。這正是我需要了解問題並解決了我的問題。 –
我的問題是,我模式顯示第二個視圖控制器,而不是將其添加到堆棧。 以下是我固定它: 'self.presentViewController(destinationViewController,動畫:真實,完成:無)' 到: 'self.navigationController .pushViewController(destinationViewController,動畫從第一視圖 - 控制 更改來電:真)' 改變的UIButton在第二控制器點擊來自: 'self.presentingViewController .dismissViewControllerAnimated(真,完成:無)' 到: 'self.navigationController .popViewControllerAnimated(真)' –