我正在使用故事板,我有一个拆分视图,其中master是一个UITableViewController。像iPad Mail应用程序一样,我想显示一个UIToolbar。
我无法通过故事板添加工具栏,但我设法以编程方式添加它。我也可以在工具栏中添加UILabel,但我找不到添加刷新按钮或任何UIBarButtonItem的方法。
有什么想法吗?
- (void)viewDidLoad {
[super viewDidLoad];
[self.navigationController setToolbarHidden:NO];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50.0f, 0.0f, 80.0f, 40.0f)];
label.text = @"last updated...";
label.textAlignment = UITextAlignmentCenter;
label.font = [UIFont systemFontOfSize:13.0];
[self.navigationController.toolbar addSubview:label];
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStylePlain target:self action:@selector(action:)];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"Item1" style:UIBarButtonItemStyleBordered target:self action:@selector(action:)];
NSArray *buttons = @[item1, item2, nil];
[self.navigationController.toolbar setItems:buttons animated:NO];
答案 0 :(得分:56)
感谢Apple iOS论坛找到了答案!
使用导航控制器的工具栏时,必须在活动视图控制器的toolbarItems
属性上设置工具栏按钮,而不是在实际导航控制器的工具栏本身上。
来自UINavigationController
docs:
显示工具栏
导航控制器对象在其视图中管理可选工具栏 层次结构。显示时,此工具栏将获取其当前设置 来自活动视图控制器的
toolbarItems
属性的项目。 当活动视图控制器更改时,导航控制器 更新工具栏项以匹配新视图控制器,动画 适当时,新项目就位。
例如:
[self setToolbarItems:buttons animated:NO];