使用UITableViewCell作为tableHeaderView

时间:2014-04-16 19:43:11

标签: ios objective-c uitableview tableheader

我想使用自定义UITableViewCell作为我的TableView的tableHeaderView。我没有在SO上找到任何这样的例子,也许这是不可能的。我在viewDidLoad中尝试了以下代码的几个版本:

cNib = [UINib nibWithNibName:@"HeaderUserLoggedOutCell" bundle:nil];
[self.menuTableView registerNib:cNib forHeaderFooterViewReuseIdentifier:@"HeaderUserLoggedOutCell"];
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(20, 0, self.menuTableView.frame.size.width, 40.0)];
HeaderUserLoggedOutCell *userLoggedOutCell = [[HeaderUserLoggedOutCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"HeaderUserLoggedOutCell"];
userLoggedOutCell.frame = CGRectMake(111, userLoggedOutCell.frame.origin.y+20, self.view.frame.size.width, userLoggedOutCell.frame.size.height);
[headerView addSubview:userLoggedOutCell];
self.menuTableView.tableHeaderView = headerView;

我的Xib文件中的标签不会出现。我认为这个Nib注册更多用于节标题,但我不确定,所以我尝试了。

谢谢

1 个答案:

答案 0 :(得分:1)

不确定您是如何设置自定义单元格的,但如果它有与之关联的笔尖,则可以执行以下操作:

HeaderUserLoggedOutCell *userLoggedOutCell = [[[NSBundle mainBundle] loadNibNamed:@"HeaderUserLoggedOutCell" owner:self options:nil] objectAtIndex:0];
// customize your cell in whatever way you need to
self.menuTableView.tableHeaderView = userLoggedOutCell.contentView;

无需将自定义单元格添加到单独的UIView。