2010-08-08 57 views
0

對編碼社區來說是新手,並從我的開發人員手中接管了一個應用。我想在我的應用程序的其中一個視圖的導航欄上實現「後退」按鈕。如果你們能指引我正確的方向,那將不勝感激。在iPhone應用的導航欄上實現「後退」按鈕的最佳方式是什麼?

非常感謝!

+0

您已經提問過。 – 2010-08-08 06:34:01

+0

[在iPhone應用程序中的導航欄上實現後退按鈕]的可能重複(http://stackoverflow.com/questions/3432661/implement-a-back-button-on-navigation-bar-in-iphone-app) – rpetrich 2010-08-08 06:53:01

回答

3

在某些情況下,如果您沒有使用UINavigationController,則可以自己創建一個UINavigationBar。然後

self.navBar = [UINavigationBar new]; 
self.navBar.contentMode = UIViewContentModeTopLeft; 
self.navBar.delegate = self; 
self.navBar.frame = CGRectMake(0, 30, mainWindow.frame.size.width,40); 
UINavigationItem *backButton = [[UINavigationItem alloc] initWithTitle:@"Back"]; 
[self.navBar setItems:[NSArray arrayWithObjects:backButton,[[UINavigationItem alloc] initWithTitle:@"Current View"], nil]]; 
[self.view addSubview: self.navBar]; 

你的控制器應實現UINavigationBarDelegate協議,這樣就可以給

-(BOOL) navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item 

迴應,你可以回到你以前的觀點。 這種情況大多沒有用例。您可能真的想要使用UINavigationControllers以及push和popViewController方法。 無論如何,我希望這有幫助。 親切的問候。

+0

非常感謝! – BigMike 2010-08-08 15:59:48

1

當您使用[UINavigationController -pushViewController]時,後退按鈕會自動添加。基本上,您不需要使用常規視圖控制器,而需要一個使用默認視圖進行初始化的導航控制器,並且當您想要顯示其他視圖時,需要將其推送到導航控制器上。通過推動新的視圖控制器,它會自動添加後退按鈕。後退按鈕的標題通常是視圖控制器的標題,但您可以使用navigationBar.backItem.title更改它。

相關問題