2012-09-19 78 views
1

我正在開發一個基於導航的應用程序與幾個意見。在Storyboard中,我有一個Navigation Controller指向我的主ViewController(我的應用程序的「中心」視圖),該視圖指向具有segues的其他視圖。故事板:推斷改變後的導航欄segues

起初我想這塞格斯是push,但它並不能正常工作(按鈕幾乎不響應),我已經切換到modalas advised here)。現在SEGUE工作正常,但每當我使用modal SEGUE,鑑於導航欄它指向的消失(我和其他配置嘗試 - 被顯示在故事板的導航欄,但是,仿真器不工作)。

我在哪裏犯錯?

回答

1

至於建議的JoePasq,「有你的視圖控制器類導航控制器的根視圖控制器」。選擇您想要設置爲根屏幕的視圖控制器,並轉到編輯器/嵌入選項並選擇導航控制器。你會得到一個嵌入你的根視圖控制器的導航控制器。您可以在程序中以編程方式更改您的屏幕,而不是設置segues。在你的按鈕點擊事件的方法中,寫下類似的代碼;

- (IBAction)okPressed:(id)sender { 
UIStoryBoard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; //MainStoryboard is the name of your storyboard 
SecondViewController *secondView = [storyboard instantiateViewControllerWithIdentifier:@"sView"]; 
//sView is the identifier name set by the user, (present inside Attribute Inspector - View Controller) 
[self.navigationController pushViewController:secondView animated:YES]; 

讓我知道這是否工作,或者有另一種方式來做到這一點。

+0

您所提供的解決方案是確定的,但我還是不明白,爲什麼我能做到這一點用故事板(以及爲什麼我必須這樣做而不是編程)沒有。現在唯一的原因是我爲這個視圖添加另外2個文件與ViewController將是IBAction segues。 – syntagma

+0

我認爲你必須嵌入一個導航控制器到你的視圖從一個屏幕導航到另一個。 – shailbenq

2

採用模態呈現您的視圖控制器是沒有UINavigation棧長的一部分。您可以拖動新的UINavigationController,將其顯示爲模式視圖,並使您的視圖控制器類成爲導航控制器的根視圖控制器。