我想使用表格视图作为 UISplitViewController 中的详细信息窗格。如何将工具栏放在顶部?我希望能够以与我的非表格详细视图相同的方式添加栏按钮项。谢谢。
问问题
5560 次
3 回答
3
我对这个问题的失望在于尝试使用 UITableViewController 类,它不允许您添加其他 UI 元素,如工具栏。我通过创建一个 UIViewController 对象并将工具栏和表格视图分别添加到它的 nib 来解决它。然后我让 ViewController 实现表视图的委托和数据源方法。效果很好。
于 2010-06-25T07:03:25.433 回答
0
常见的范例是将 UINavigationControllers 作为主页面和详细页面的顶级控制器。
所以视图层次结构看起来像这样(松散地说)
- 应用程序窗口
- UISplitViewController
- 大师:UINavigationController
- 有你的自定义控制器(tableView 或 UIView)
- 详细信息:UINavigationController
- 有你的自定义控制器(UITableViewCONtroller / UIVIEWcontroller)
- 大师:UINavigationController
- UISplitViewController
希望这个粗略的图表有意义。
将 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 回答