下面显示了将分组表添加到视图时的默认位置?如何在视图中将整个分组表向下推?
(来源:pessoal.org)
您可以将具有固定高度的透明视图分配给 tableView 的 tableHeaderView 属性。这会将表格内容向下推透明视图的高度。
你可以从你的 UITableViewController 的 viewDidLoad 中做到这一点:
// force the table down 70 pixels
CGRect headerFrame = self.tableView.bounds;
headerFrame.size.height = 70;
UIView *header = [[UIView alloc] initWithFrame: headerFrame];
header.backgroundColor = [UIColor clearColor];
self.tableView.tableViewHeader = header;
[header release];
查看 UITableView 的 delagate。
您将找到一个属性“heightForHeaderInSection”。
对于第 0 部分,只需使标题更大(默认为 0),它会将表格推到视图下方。
如果您正在向下移动表格,那么您无疑希望使用获得的空间来添加 UI 元素。
此时,考虑在 IB 中构建页面。您可以将表格视图调整为您喜欢的位置,并将 UI 元素放在表格上方。您可以使用 UIViewController 来管理页面并添加 UITableViewDelegate/Datasource 协议方法,以便您可以将 UITableView 作为委托连接回您的视图控制器......然后您还可以将其他 UI 元素连接到同一个视图控制器。
最简单的方法可能只是修改表格视图的框架。您需要通过 IBOutlet 或通过在视图层次结构中查找视图来获取对控制器中 tableview 的引用,或者您可以在 Interface Builder 中更改框架。
在代码中类似于:
tableView.frame = CGRectMake(0.0, 200.0, 320.0, 280.0);
将 tableview 定位在屏幕下方并限制其高度 - 您使用的尺寸将取决于您是否在视图上有标签栏以及类似的东西。
在界面构建中,只需选择 tableview,然后选择 Size 检查器(带有标尺图标的检查器选项卡)并设置高度和 y 偏移以将其向下移动视图。