我想在我的UISplitViewController中使用表视图作为详细信息窗格。如何将工具栏放在顶部?我希望能够以与非表格详细信息视图相同的方式添加条形按钮项目。 感谢。
答案 0 :(得分:3)
我对此问题的沮丧在于尝试使用UITableViewController类,它不允许您添加其他UI元素,如工具栏。我通过创建一个UIViewController对象并将工具栏和表视图分别添加到其nib来解决它。然后我让ViewController实现了表视图的委托和数据源方法。效果很好。
答案 1 :(得分:0)
常见范例是将UINavigationControllers作为主页面和详细页面的顶级控制器。
所以视图层次结构看起来像这样(松散地说)
希望这个原始图表有意义。
将UINavigationController作为顶级控制器,您可以获得“免费”的工具栏。
self.navigationController.toolbar
答案 2 :(得分:0)
我解决了另一种方式:如果没有导航栏,我只需在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;
}