在导航栏中的默认“后退”按钮附近添加按钮

Posted

技术标签:

【中文标题】在导航栏中的默认“后退”按钮附近添加按钮【英文标题】:Adding button near to default 'back' button in navigationBar 【发布时间】:2012-09-29 13:50:00 【问题描述】:

我正在构建并使用webView's。通过选择一些选项卡,我还显示了一些视图非webView。我的导航控制器有问题

我在我的 Ncontrolls 类中设置我的 navigationController 有下一个代码:

- (void)push
   UIViewController myVC = [[UIViewController alloc] init];
    myVC.view.frame = currentNC.view.frame;
    UIImageView *logo = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"house.png"]];    
    UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:logo ];
    [myVC.navigationItem setLefttBarButtonItem:buttonItem];
    [currentNC pushViewController:myVC animated:NO];

每次我想使用后退按钮时,当我在 UIWebView 中更改页面时,我都会调用下一个代码并使用push,并添加后退按钮

UIViewController *VC1 = [[UIViewController alloc] init];
[[AppDelegate sharedInstance].currentNC pushViewController:VC1 animated:NO];

我有一些视图,我想在后退按钮附近添加另一个按钮,而不是替换它,而是添加附近。我正在寻找在某些视图中设置我的按钮靠近后退按钮的选项。

此代码添加一个按钮:

UIBarButtonItem *button1 = [[UIBarButtonItem alloc] initWithCustomView:trView];
    [VC1.navigationItem setLefttBarButtonItem:button1 ];
    [currentNC pushViewController:dummyVC animated:NO];

当我进入下一个视图并出现后退按钮时,我的button1 消失了。此刻我该如何将它添加到靠近后退按钮

【问题讨论】:

【参考方案1】:

我认为,导航控制器顶部的一侧不可能有两个按钮。 但是,你可以把按钮放在右边。

self.navigationItem.rightBarButtonItem = buttonItem;

【讨论】:

也许,在这些应用程序中使用了自己的导航,而不是来自 SDK? 我自己做的,看下面我的回答【参考方案2】:

可以通过这个方法添加:

首先:您应该构建自己的后退按钮和新按钮并在那里定义操作, 然后创建一个名为“LargeButton”的大按钮,无需操作,并在其中添加两个按钮:

[大按钮 addSubview:backbtn]; [大按钮 addSubview:myButton];

然后将右侧导航栏按钮设置为大按钮:

self.navigationItem.leftBarButtonItem = LargeButton;

在此方法中,您将在导航栏右侧获得一个两个按钮。

【讨论】:

以上是关于在导航栏中的默认“后退”按钮附近添加按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在 uiviewcontroller 的导航栏中添加后退按钮?

从 SwiftUI 中的导航栏中删除后退按钮文本

标签栏导航栏中的后退按钮

IOS - 垂直对齐导航栏中的后退按钮

如何在swift 4中的导航栏上添加图像后退按钮

在 Swift 中使用 hidesBackButton 隐藏导航栏中的后退按钮