1

我想使用表格视图作为 UISplitViewController 中的详细信息窗格。如何将工具栏放在顶部?我希望能够以与我的非表格详细视图相同的方式添加栏按钮项。谢谢。

4

3 回答 3

3

我对这个问题的失望在于尝试使用 UITableViewController 类,它不允许您添加其他 UI 元素,如工具栏。我通过创建一个 UIViewController 对象并将工具栏和表格视图分别添加到它的 nib 来解决它。然后我让 ViewController 实现表视图的委托和数据源方法。效果很好。

于 2010-06-25T07:03:25.433 回答
0

常见的范例是将 UINavigationControllers 作为主页面和详细页面的顶级控制器。

所以视图层次结构看起来像这样(松散地说)

  • 应用程序窗口
    • UISplitViewController
      • 大师:UINavigationController
        • 有你的自定义控制器(tableView 或 UIView)
      • 详细信息:UINavigationController
        • 有你的自定义控制器(UITableViewCONtroller / UIVIEWcontroller)

希望这个粗略的图表有意义。

将 UINavigationController 作为顶级控制器的好处是,您可以“免费”获得工具栏。

   self.navigationController.toolbar
于 2010-06-24T00:10:28.547 回答
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;
}
于 2012-12-30T20:29:34.330 回答