在iPhone应用程序的导航栏上实现“后退”按钮的最佳方法是什么

时间:2010-08-08 06:31:07

标签: iphone

编码社区相当新,并接管了我的开发人员的应用程序。我想在我的应用程序中的一个视图的导航栏上实现“后退”按钮。如果你们能指出我正确的方向,那将非常感激。

非常感谢!

2 个答案:

答案 0 :(得分: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方法。 无论如何,我希望这有所帮助。 亲切的问候。

答案 1 :(得分:1)

使用[UINavigationController -pushViewController]时会自动添加后退按钮。基本上,您不需要使用常规视图控制器,而是需要使用默认视图初始化的导航控制器,并且当您想要显示其他视图时,需要将其推送到导航控制器上。通过按下新视图控制器,它会自动添加后退按钮。后退按钮的标题通常是视图控制器的标题,但您可以使用navigationBar.backItem.title更改它。