Cocoa touch 在UITableView上方添加工具栏以在UISplitViewController详细视图中使用
我想在UISplitViewController中将表视图用作详细信息窗格。如何将工具栏放在顶部?我希望能够以与非表详细视图相同的方式添加栏按钮项。Cocoa touch 在UITableView上方添加工具栏以在UISplitViewController详细视图中使用,cocoa-touch,uitableview,ipad,uitoolbar,uisplitviewcontroller,Cocoa Touch,Uitableview,Ipad,Uitoolbar,Uisplitviewcontroller,我想在UISplitViewController中将表视图用作详细信息窗格。如何将工具栏放在顶部?我希望能够以与非表详细视图相同的方式添加栏按钮项。 谢谢。常见的范例是将UINavigationController作为主控页和详细页的顶级控制器 因此,等级制度的观点是这样的(胡说八道) 应用程序窗口 UISplitViewController 主机:UINavigationController 具有自定义控制器(tableView或UIView) 详细信息:UINavigationCo
谢谢。常见的范例是将UINavigationController作为主控页和详细页的顶级控制器 因此,等级制度的观点是这样的(胡说八道)
- 应用程序窗口
- UISplitViewController
- 主机:UINavigationController
- 具有自定义控制器(tableView或UIView)
- 详细信息:UINavigationController
- 具有自定义控制器(UITableViewCOntroller/UIVIEWcontroller)
- 主机:UINavigationController
- UISplitViewController
self.navigationController.toolbar
我对这个问题的不满在于试图使用UITableViewController类,它不允许您添加其他UI元素,比如工具栏。我通过创建UIViewController对象并将工具栏和表视图分别添加到其nib中解决了这个问题。然后,我让ViewController实现表视图的委托和数据源方法。效果很好 我用另一种方法解决了这个问题:如果缺少导航栏,我只需在tableView的顶部添加一个工具栏,并在第一节中更改标题的高度。唯一的问题是工具栏与tableView一起滚动 将此添加到TableViewController的ViewDidLoad
if (! self.navigationController.navigationBar) {
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 44)];
toolBar.barStyle = UIBarStyleBlackOpaque;
[self.tableView addSubview:toolBar];
}
添加此方法:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection: (NSInteger)section
{
return 50;
}
是的,不幸的是,正如我在问题中所说,UINavigationBar不允许添加BarButtonItems。[self.navigationController setToolbarHidden:否动画:否];这将启用“工具栏”,它与“导航栏”不同。setToolbarHidden方法将工具栏显示在底部,而不是顶部,它依赖于UINavigationContoller中包含的视图,而我的方法不是。