我正在尝试从导航控制器层次结构中的视图控制器中显示一个UITableViewController。模态视图应该显示一个工具栏。
导航控制器的托管工具栏可以在视图控制器中使用,还是应该实现自己的工具栏?
[self.navigationController presentModalViewController:filterVC animated:YES];模型显示控制器,则不显示工具栏;如果我按下控制器,则显示[self.navigationController pushViewController:filterVC animated:YES];,工具栏显示。下面是我从UITableViewController的init方法运行的方法。
-(void)configureToolBar {
[self.navigationController setToolbarHidden:NO animated:YES];
//ToolbarItem Done
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(doneButtonPressed)];
//ToolbarItem Cancel
UIBarButtonItem *cancelItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
target:self
action:@selector(cancelButtonPressed)];
//Flexible Space
UIBarButtonItem *flexibleItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
self.toolbarItems = [NSArray arrayWithObjects:flexibleItem, cancelItem, doneItem, flexibleItem, nil];
[doneItem release];
[cancelItem release];
[flexibleItem release];
}发布于 2012-03-08 11:14:45
不,您不能这样做,因为模态视图控制器成为显示它的视图控制器的子视图,而该视图控制器是导航控制器的子视图(即模态视图与NavigationController的层次结构没有关联)。不过,您可以将导航控制器表示为模态视图控制器,因此可以将自定义导航条按钮传递给它。
发布于 2012-03-08 11:14:42
您必须将VC嵌入到新的UINavigationController中,并再次设置工具栏项,否则只需将UIToolbar添加到VC的底部即可。
https://stackoverflow.com/questions/9616696
复制相似问题