我有一个按钮,当按下它时会显示一个新的viewController,就像一个弹出窗口。
- (IBAction)btnPressed:(id)sender
{
PopUpObj = [[PopUpViewController alloc] init];
[self.navigationController presentViewController:PopUpObj animated:YES completion:nil];
}
视图显示应该显示,但它没有带后退按钮的导航栏。
在PopUpViewController中,我创建了一个这样的导航栏:
- (void)viewDidLoad
{
self.view.backgroundColor = [UIColor whiteColor];
UINavigationBar *navbar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, 320, 64)];
[navbar setBarStyle:UIBarStyleDefault];
[self.view addSubview:navbar];
UIBarButtonItem* myBackButton = [[UIBarButtonItem alloc]
initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
self.navigationItem.backBarButtonItem = myBackButton;
[super viewDidLoad];
}
导航栏出现,但后退按钮项目根本不显示。怎么了?
答案 0 :(得分:1)
将另一个viewController推送到导航堆栈时,会显示backBarButtonItem
。可以将其视为用于返回PopUpViewController的按钮,而不是显示PopUpViewController时显示的按钮。将self.navigationItem.backBarButtonItem
更改为self.navigationItem.leftBarButtonItem
。