2013-07-03 29 views
0

如何將後退按鈕添加到導航欄?我知道有一些相關的問題,但他們都沒有幫助。我沒有使用Storyboard,也沒有使用Master Detail模板。有這樣的設置嗎?或者你通過代碼添加它?如果是的話,我需要什麼代碼?任何幫助表示讚賞!謝謝!如何將後退按鈕添加到NavigationBar?

回答

0

如果正確使用navigationController,後退按鈕將默認顯示。該ViewControllers應該是這個

NavigationController> FirstViewController> SecondViewController

您將需要創建navigationController與firstVC實例爲根。從第一個VC你可以推​​和後退按鈕將在那裏。

以下放入appDelegate application didFinishLaunchingWithOptions:將首先加載firstVC。如果你想推secondVC

在firstVC.m將在這之後,你初始化窗口...

UIViewController *firstVC = [[UIViewController alloc] initWithNibName:@"firstVC" bundle:nil]; 
    // any setupup of firstVC 
    UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:firstVC]; 
    [self.window setRootViewController:navCon]; 

然後在您的firstVC類:

UIViewController *secondVC = [[UIViewController alloc] init]; 
[self.navigationController pushViewController:secondVC animated:YES]; 
+0

我做到了這一點,但它仍然沒有出現,我已經在xib中添加了導航控制器,但是我需要做其他任何事嗎?,我的意思是它沒有給我任何錯誤,但它的不顯示:/ –

+0

第一個VC是與xib關聯的那個。導航控制器(navCon)永遠不會被看到。它只是其他視圖控制器堆疊的基礎。如果您的第一個VC從xib正確加載,然後按上述導航控制器,它應該正確顯示。然後所有後續的(第二,第三)控制器將被推後按鈕。 – WCByrne

+0

檢查編輯,確保你做'initwithnibname'。另外,在調用初始化窗口之後放置代碼。 – WCByrne

0

您不需要明確添加後退按鈕。當您將控制器推入UINavigationController時,該按鈕將自動添加。也就是說,呼叫爲:

[navigator pushViewController: controller animated: ...]; 

創建後退按鈕。

+0

說IM在屏幕1與按鈕轉到2,我轉到屏幕2,屏幕2應該有後退按鈕。我在哪裏添加代碼?屏幕2上的按鈕操作或viewdidload中的screen1.m? –

+0

它會自動繼承後退按鈕,除非您已明確禁止它具有導航欄,或者您尚未使用推送轉換。 –

+0

所以我應該替換'[self.navigationController pushViewController:menuSesionesController animated:YES];''[navigator pushViewController:controller animated:...];'? 我覺得我不使用導航控制器,我不知道如何使用它沒有故事板 –

相關問題