在viewController上添加默认导航栏

时间:2014-09-08 20:51:56

标签: ios objective-c

我有一个按钮,当按下它时会显示一个新的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];
}

导航栏出现,但后退按钮项目根本不显示。怎么了?

1 个答案:

答案 0 :(得分:1)

将另一个viewController推送到导航堆栈时,会显示backBarButtonItem。可以将其视为用于返回PopUpViewController的按钮,而不是显示PopUpViewController时显示的按钮。将self.navigationItem.backBarButtonItem更改为self.navigationItem.leftBarButtonItem