导航控制器工具栏按钮

4
我有一个UINavigationController,我将其设置为窗口的rootViewController。在NIB文件中,我已经设置了它的"底部栏"为"工具栏"。在Interface Builder中,我已添加了一个UIBarButtonItem。这一切都很好,我可以很好地处理按钮点击。当我点击其中的一个按钮时,我会将新视图推入ViewController,这也很好。但有个问题是,我的按钮在加载视图时消失了。现在在随后的视图中,我可以将底部栏设置为工具栏,并且在Interface Builder中可以看到它,但我无法向其添加任何按钮。
我知道我要么漏掉了某些显而易见的东西,要么想错了,但是如何向我的导航控制器推送到后面的视图添加UIBarButtonItems呢? 我指的是底部的栏,而不是顶部的导航栏。
你有什么想法?
2个回答

11

你需要关注的是 UIViewController 上的 toolbarItems 属性。你可以在 viewDidLoad 中编程创建 UIBarButtonItems 并将它们添加到一个新的 toolBarItems 数组中。

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem* editButton = [[[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStyleBordered target:self action:@selector(editAction)] autorelease];
    [self setToolbarItems:[NSArray arrayWithObject:editButton]];
}

谢谢,那个很有效。有没有办法在Interface Builder中完成这个操作?似乎我大部分的问题都来自于尝试使用IB设计东西。 - JamesB41
1
你可以在界面构建器中创建UIBarButtonItems,并将它们并排添加到主视图旁边(而不是视图层次结构的一部分)。然后将它们设置为文件所有者的属性。然后,在viewDidLoad中,将toolbarItems设置为包含对这些属性的引用的数组。你也可以尝试这些人正在讨论的内容 - https://dev59.com/bUnSa4cB1Zd3GeqPKQIT - user349819

-2

对我来说这个更好用:

[[self navigationItem] setLeftBarButtonItem:homeButton];

你可以对右侧执行相同的操作。


4
问题涉及屏幕底部的 UIToolbar,不是顶部的 UIToolbar - Defragged

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接