我正在尝试为UITableView创建自定义的节标题。我找到了一些参考资料,说明如何在代码中完成这项工作(#1349571)。
我正在尝试确定是否可以在Interface Builder中创建UIView并使用它来自定义标题,类似于如何为UITableViewCell执行此操作?
答案 0 :(得分:7)
是可以使用使用XIB创建的标题视图。创建一个XIB和类来管理XIB(UIView类)。使用
YourNibClassName* v = [[[NSBundle mainBundle] loadNibNamed:@"YOUR_XIB_NAME" owner:self options:nil] firstObject];
//With this method you can load any xib for header view
tableView.tableHeaderView = v;
[v release];
修改强>
在viewForHeaderInSection中返回此视图,如下所示
YourNibClassName* v = [[[NSBundle mainBundle] loadNibNamed:@"YOUR_XIB_NAME" owner:self options:nil] firstObject];
//Do some stuff here like setting text on labels etc.
return [v autorelease];
答案 1 :(得分:3)
由于我们有原型单元格,您还可以在表格中添加原型单元格。 在Interface Builder中填写原型单元的标识符。 (例如HeaderCell) 然后,您可以在viewForHeaderForSection中使用它,就像在cellForRowAtIndexPath中使用单元格一样。
示例:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *headerView = [tableView dequeueReusableCellWithIdentifier:HeaderCellID];
UILabel *label = (UILabel *)[headerView viewWithTag:100];
label.text = [self tableView:self.tableView titleForHeaderInSection:section];
return headerView;
}
答案 2 :(得分:0)
将它添加为表格上方的标签,并删除我曾经做过的搁浅的表格标题,一旦我知道这听起来很奇怪但是有效