获取静态UITableView的UITableViewHeaderFooterView

时间:2012-11-25 22:12:00

标签: ios static interface-builder uitableview

我有一个包含UITableViewController的故事板。表视图是静态的,包含两个部分。表视图完全在IB中设置(包括表视图部分的页眉和页脚文本) - 我没有在视图控制器中实现任何表视图委托方法。

如果我尝试获取给定部分的UITableViewHeaderFooterView的引用,则它总是返回nil。

UITableViewHeaderFooterView* header =[self.tableView headerViewForSection:0];

当我运行应用程序时,我可以看到我在IB中设置的页眉和页脚文本,所以我知道那些视图在那里。我无法弄清楚如何以编程方式访问它们。

非常感谢任何帮助, CS

1 个答案:

答案 0 :(得分:2)

实际上,您需要指定表格页脚视图,并使用其委托将其传递给表格视图。

例如,假设您已经定义了一个名为tableFooterView的IBOutlet UIView。 然后在下面的委托方法中,您可以将tableFooterView传递给表视图:

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section;   // custom view for footer. will be adjusted to default or specified footer height
{
    return self.tableFooterView;
}

此外,您还需要实现以下方法来设置表格页脚视图的高度:

 -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
 {
    return self.tableFooterView.frame.size.height;
 }