2014-02-06 34 views
-1

我創建的故事板的場景2和1個XIB file.I已經把廈門國際銀行文件2個按鈕,如果我移動到第二現場,並從那裏(Button1以去第一現場和BUTTON2去現場2號)。從第一現場第三個場景(xib文件),如果我點擊button1,它將正確導航(即,到第一個場景),如果我點擊button2,它會回到第二個scene.It工作正常。但是,而不是從第一個場景,如果我直接移動到第三個場景(XIB文件),如果我現在點擊按鈕2,這又回到了第一個場景而已。不過我想它來第二scene.Button1正常工作,但不是button2.So誰能幫助我在這?我想讓button2像我說的那樣工作。如何彈出到上一個場景?

我該代碼是:

@implementation XYZGreenViewController 
-(IBAction)goredscreen:(id)sender 
{ 
[self.navigationController popToRootViewControllerAnimated:TRUE]; 
} 

-(IBAction)goBlueScreen:(id)sender 
{ 
[self.navigationController popViewControllerAnimated:YES]; 
} 
+0

首先告訴我們哪個IBAction由button1處理,哪個由button2處理。 – NeverHopeless

+0

您的解釋完全混淆。只是作出簡短的解釋。這裏都是開發者。他們可以理解...... – Mani

+0

這個問題非常困惑。我們可以更好地理解。 –

回答

1

思考的UINavigationController作爲堆棧,每次你導航到一個新的場景時間/視圖控制器,你基本上是推一個新視圖控制器的堆棧。

在你的第一個場景中,你已經在你的堆下面,一旦你到達第三個場景

[first scene | second scene | third scene] 

如果按任何與此有關的按鈕,你會蹦出第三個場景和回到第二個場景。

在第二種情況下,你從第一現場到第三個場景直接去,那麼你將在你的堆棧以​​下

[first scene | third scene] 

顯然,如果你跳隙一個視圖控制器,然後它會回第一現場因爲第二個場景從來沒有在堆疊上。但是,您可以通過使用pushViewController:

+0

請問你該怎麼做? – ship

+0

由於您從未導航到第二個場景,因此無法彈出。你可以使用self.navigationer pushViewController:SecondSceneVC爲了去第二個場景 – Infinity

0

在這裏,在這poptoviewcontroller不會在這種情況下工作,將其推入堆棧。首先,您必須導入您推送到查看控制器的類。 SecondViewController.h - (void)btn2clicked:(id)sender SecondViewcontroller * Objsecond = [[Secondviewcontroller alloc] initwithNibName:@「Secondviewcontroller」bundle:nil];

[self.navigationcontroller pushtoviewcontroller:Objsecond動畫:YES]; 你可以這樣使用..

+0

Secondviewcontroller是我使用的故事板,但不是xib ..所以如果我使用上面給出的代碼,它會給出這個錯誤 - 沒有可見的@interface爲「secondviewcontroller」聲明選擇器'initWithNibName:bundle:' – ship

相關問題