Using为下一个被推送到导航堆栈的视图控制器(例如 SecondViewController)self.navigationItem.backBarButtonItem
设置后退栏按钮项,而不是当前视图控制器(例如 FirstViewController)。
如果要为当前位于堆栈上的视图控制器设置后退按钮,请像leftBarButtonItem
在当前视图控制器中那样设置它,或者backBarButtonItem
在将新视图推送到堆栈上的视图控制器中使用。
使用时没有显示按钮的原因leftBarButtonItem
是因为您将标题留空而不是将其设置为“返回”之类的内容
例子:
// Inside SecondViewController.m
//
// Customize left bar button item for SecondViewController
//
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self.navigationController action:@selector(popToRootViewControllerAnimated:)];
或者
// Inside FirstViewController.m
//
// Customize the back bar button item for SecondViewController
//
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
请注意,您不必为它设置目标或操作,backBarButtonItem
因为它会做正确的事情。