我正在尝试从导航控制器层次结构中的视图控制器以模态方式呈现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];
}
答案 0 :(得分:2)
您必须将VC嵌入到新的UINavigationController中并再次设置工具栏项,或者只需将UIToolbar添加到VC的底部。
答案 1 :(得分:2)
不,你不能,因为模态视图控制器成为显示它的视图控制器的子视图,并且该视图控制器是导航控制器的子视图(即模态视图与NavigationController没有连接& #39; s层次结构)。但是,您可以将导航控制器显示为模态视图控制器,这样您就可以将自定义导航栏按钮传递给它。