我的应用的这一部分有一个带有4个不同标签的标签栏。每个选项卡都是一个表格视图,显示工具栏上的不同按钮。我在视图中添加了一个自定义工具栏,一切正常。但是,出于设计原因,我们正在删除Tab栏;它将是一个菜单屏幕。由于标签栏将不再位于屏幕的底部,我想我现在可以使用导航控制器的工具栏。我的问题是按钮永远不会显示在工具栏中!
这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.allowsMultipleSelection = YES;
// Configure the navigation item with custom buttons
UIBarButtonItem* flexibleSpace = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil
action:nil];
UIBarButtonItem* btnClockIn = [[UIBarButtonItem alloc]
initWithTitle:@"Clock In"
style:UIBarButtonItemStylePlain
target:self
action:@selector(clockRespondersIn)];
UIBarButtonItem* btnClockOut = [[UIBarButtonItem alloc]
initWithTitle:@"Clock Out"
style:UIBarButtonItemStylePlain
target:self
action:@selector(clockRespondersOut)];
UIBarButtonItem* btnDismiss = [[UIBarButtonItem alloc]
initWithTitle:@"Dismiss"
style:UIBarButtonItemStylePlain
target:self
action:@selector(dismissResponders)];
UIBarButtonItem* btnEndJob = [[UIBarButtonItem alloc]
initWithTitle:@"End Job"
style:UIBarButtonItemStylePlain
target:self
action:@selector(endJob)];
self.navigationController.toolbarHidden = NO;
self.toolbarItems = @[btnClockOut,flexibleSpace,btnDismiss,flexibleSpace,btnEndJob];
}
我尝试将这些语句移动到viewWillAppear中,但它没有帮助。我不明白我做错了什么。目前工具栏显示,但没有按钮。我没有删除自定义工具栏,但我不再为其分配按钮。但是,如果我指定按钮,它们看起来应该在那里。
答案 0 :(得分:1)
根据UINavigationController
的使用方式,self.navigationController
中的viewDidLoad
可能为零。在创建视图时,尝试将viewDidLoad
中的断点设置为具有有效导航控制器的断点。您可能需要将其移至viewWillAppear
。
答案 1 :(得分:0)
由于@rdelmar在测试时说代码有效,我决定重新开始使用一个新的视图控制器,它根本没有链接到Tab栏控制器。它马上工作了。我无法找到有关其原因的任何信息,但导航控制器和标签栏中的工具栏似乎无法相处。