iOS:默认后退按钮显示在自定义左侧导航按钮上

Posted

技术标签:

【中文标题】iOS:默认后退按钮显示在自定义左侧导航按钮上【英文标题】:iOS: Default Back button Being Presented Over Custom Left Nav Button 【发布时间】:2013-09-07 08:33:30 【问题描述】:

我收到this,一旦我使用以下方式推送视图:[self.navigationController pushViewController:viewController animated:YES];

我有在 viewWillAppear 中创建左侧导航按钮的代码。 这是我创建左侧导航按钮的代码:

`UIButton *leftButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 25)];
            [leftButton setImage:[UIImage imageNamed:@"leftNavIconGray.png"] forState:UIControlStateNormal];
            [leftButton setShowsTouchWhenHighlighted:TRUE];
            [leftButton addTarget:self.navigationController.sideMenu action:@selector(toggleLeftSideMenu) forControlEvents:UIControlEventTouchDown];
            UIBarButtonItem *barBackItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
            self.navigationItem.hidesBackButton = TRUE;
            self.navigationItem.leftBarButtonItem = barBackItem;
            return;`

注意,我确实在其中隐藏了后退按钮。因为左边的导航按钮在那里,所以 viewWillAppear 被调用,但由于某种原因,默认的后退按钮被隐藏了。

这仅在我推送视图时发生,而不是在我定期加载它时发生。

有没有人知道如何去掉那个后退按钮?

【问题讨论】:

return;发表评论 这不起作用,它在代码中是有原因的。 【参考方案1】:

如果你的工作没有完成,我想你

只是隐藏导航栏

self.navController.navigationBarHidden = YES;

点击leftButton(在toggleLeftSideMenu中)只需弹出视图控制器

[self.navigationController popViewControllerAnimated:YES];

【讨论】:

以上是关于iOS:默认后退按钮显示在自定义左侧导航按钮上的主要内容,如果未能解决你的问题,请参考以下文章

使用LeftBarButtonItems ios中的自定义按钮创建默认后退按钮

iOS 11导航栏自定义后退按钮问题

在导航控制器中设置后退按钮的操作

自定义导航控制器的后退按钮

IOS - 如何使默认的后退按钮调用展开segue

后退按钮与按钮轮廓一起出现