如何在UINavigationBar中添加后退按钮?

时间:2016-01-19 23:54:46

标签: ios objective-c uinavigationcontroller uinavigationbar

用户通过push segue从前一个viewController到达此viewController,因此我希望UINavigationBar中有一个后退按钮以允许它们返回。

通常情况下,如果我右键单击故事板中的viewController并选择Embed in>,则会返回此按钮。 Navigation Controller,但这样做会导致崩溃,我更喜欢以编程方式执行操作,因此我决定在viewDidLoad中执行此操作:

    // Nav bar
    UINavigationBar *navbar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];

    // Back Button
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style: UIBarButtonItemStyleBordered target:self action:@selector(Back)];
    self.navigationItem.leftBarButtonItem = backButton;

    [self.view addSubview:navbar];

这成功地在顶部添加了导航栏,但它没有按预期添加后退按钮。我已经尝试了hereherehere给出的解决方案,但都没有解决问题。

1 个答案:

答案 0 :(得分:0)

您构建了一个docker ps -a | Out-String -Stream | Select-String -Pattern (".*-mysql")和一个UINavigationBar但从未连接过这两个。

UIBarButtonItem为您管理UINavigationController,并将其UINavigationBar设置为导航堆栈中最顶层视图控制器的topItem。如果您需要构建自己的导航栏,那么您需要自己管理它的项目堆栈。请查看navigationItem - pushNavigationItem:animated:方法。

然而,鉴于您似乎想要UINavigationBar的外观和功能,我不清楚为什么您自己添加UINavigationController视图而不是使用该容器视图控制器。