在导航控制器上显示工具栏按钮

Posted

技术标签:

【中文标题】在导航控制器上显示工具栏按钮【英文标题】:showing toolbar buttons on a navigation controller 【发布时间】:2011-08-28 10:52:12 【问题描述】:

嗨,我知道我遗漏了一些东西,因为它在整个网络上看起来都很容易。 我正在向我的工具栏添加按钮, 工具栏正在显示。但没有任何按钮。 这是我的代码:

    - (void)viewDidLoad

    [super viewDidLoad];
    self.title = @"secondPage";
    UIBarButtonItem *deleteAllItem = [[[UIBarButtonItem alloc] initWithTitle:@"Delete All"
                                                                       style:UIBarButtonItemStyleBordered   
                                                                      target:self
                                                                      action:@selector(deleteAllAction:)] autorelease];


    UIBarButtonItem *searchNearbyItem = [[[UIBarButtonItem alloc] initWithTitle:@"Search Nearby"
                                                                          style:UIBarButtonItemStyleBordered
                                                                         target:self
                                                                         action:@selector(searchNearbyAction:)] autorelease];

    [self.navigationController setToolbarHidden:NO];
    self.toolbarItems = [NSArray arrayWithObjects: 
                      deleteAllItem,
                      searchNearbyItem,
                      nil];

 

感谢您的帮助

【问题讨论】:

我创建了一个新的基于导航控制器的项目,将此代码复制为 RootViewController 上的 viewDidLoad 并且它第一次工作。您能否提供更多背景信息。您是否在根控制器上尝试这样做? 是的,你是对的,它也适用于我的 rooViewController :S。这很奇怪 哦,我明白了,在我的试验中我添加了方法- (void)setToolbarItems:(NSArray *)toolbarItems animated:(BOOL)animated 所以它覆盖了初始方法:S ...对不起这个问题 【参考方案1】:

您是否尝试通过以下方式设置项目:

- (void)setItems:(NSArray *)items animated:(BOOL)animated

注意:一定要在你的视图控制器上设置,不要直接在UIToolbar实例上设置。

【讨论】:

谢谢,但是这会将它们添加到导航栏中,我想将它们添加到底部的工具栏中

以上是关于在导航控制器上显示工具栏按钮的主要内容,如果未能解决你的问题,请参考以下文章

使用swift在选项卡式视图中的导航栏上添加按钮

以编程方式创建的后退按钮未显示在导航栏中?

AndroidX 向上导航功能

必须更改语言后刷新导航返回按钮的标题

如何在导航控制器中自定义工具栏

xcode 5中的导航栏对象不显示后退按钮并且没有功能