故事板:如何在由 UINavigationViewController 控制的 UITableViewController 底部设置 UIToolbar
Posted
技术标签:
【中文标题】故事板:如何在由 UINavigationViewController 控制的 UITableViewController 底部设置 UIToolbar【英文标题】:Storyboard: How to set a UIToolbar at the bottom of a UITableViewController controlled by a UINavigationViewController 【发布时间】:2014-02-10 19:25:50 【问题描述】:我是 Cocoa 主题的新手。我用 Storyboard 构建了一个运行良好的小应用程序。
我将UITableViewController
推到另一个由UINavigationViewController
控制的位置。现在我需要一个UIToolbar
和一个固定在屏幕底部的UIBarButtonItem
。
在这里你可以看到我的故事板 所以我通过拖放工具栏和工具栏中的按钮添加到Period TableViewController
,因此它与UITableView
处于相同的层次结构级别。
不幸的是,“PayOff”按钮和底部工具栏都没有出现在应用程序中。
你能帮我吗,我的 Storyboard 出了什么问题?
【问题讨论】:
【参考方案1】:在你的 ViewController 中尝试添加这个
[self.navigationController setToolbarHidden:NO animated:YES];
并使用它向其中添加 BarItems
[self setToolbarItems:@[item1, item2, item3] animated:YES];
我正在使用此方法将扫描按钮添加到 UITableViewController:
UIBarButtonItem *leftSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *rightSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
...
...
UIBarButtonItem *scanItem = [[UIBarButtonItem alloc] initWithCustomView:scanButton];
[self setToolbarItems:@[leftSpace, scanItem, rightSpace] animated:YES];
您应该小心,因为 ToolBar 可见性是为您正在使用的整个 NavigationController 设置的,您应该在需要时显示/隐藏它。
它上面的项目也需要在每个控制器上设置(我有这个问题,也许有更好的方法)
希望这会有所帮助。
【讨论】:
谢谢,解决了。关于 UIBarButtonItem,我在 PeriodTableViewController.h 中引用了一个 IBOutlet 并将其添加到 ToolbarItems。工作正常!以上是关于故事板:如何在由 UINavigationViewController 控制的 UITableViewController 底部设置 UIToolbar的主要内容,如果未能解决你的问题,请参考以下文章