如何使用情节提要实现自定义表格视图节的页眉和页脚

无需使用情节提要,我们可以简单地将a UIView拖到画布上,进行布局,然后在tableView:viewForHeaderInSection或tableView:viewForFooterInSection委托方法中进行设置。


我们如何通过StoryBoard做到这一点,而不能将UIView拖到画布上


一只斗牛犬
浏览 574回答 3
3回答

慕容3067478

我知道这个问题是针对iOS 5的,但是为了将来的读者受益,请注意,我们现在可以使用有效的iOS 6 dequeueReusableHeaderFooterViewWithIdentifier代替dequeueReusableCellWithIdentifier。因此viewDidLoad,请致电registerNib:forHeaderFooterViewReuseIdentifier:或registerClass:forHeaderFooterViewReuseIdentifier:。然后在viewForHeaderInSection,请致电tableView:dequeueReusableHeaderFooterViewWithIdentifier:。您不能使用带有此API的单元原型(它是基于NIB的视图或以编程方式创建的视图),但这是用于出列的页眉和页脚的新API。

慕仙森

只需使用原型单元格作为您的节的页眉和/或页脚。添加一个额外的单元格,然后将所需的元素放入其中。将标识符设置为特定的内容(在我的情况下为SectionHeader)实现tableView:viewForHeaderInSection:方法或tableView:viewForFooterInSection:方法用于[tableView dequeueReusableCellWithIdentifier:]获取标题实现该tableView:heightForHeaderInSection:方法。-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {    static NSString *CellIdentifier = @"SectionHeader";     UITableViewCell *headerView = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];    if (headerView == nil){        [NSException raise:@"headerView == nil.." format:@"No cells with matching CellIdentifier loaded from your storyboard"];    }    return headerView;}  编辑:如何更改标题标题(注释的问题):向标题单元格添加标签将标签的标签设置为特定数字(例如123)在您的tableView:viewForHeaderInSection:方法中,通过调用以下命令获取标签:    UILabel *label = (UILabel *)[headerView viewWithTag:123]; 现在,您可以使用标签设置新标题:    [label setText:@"New Title"];

守着一只汪

在iOS 6.0及更高版本中,新dequeueReusableHeaderFooterViewWithIdentifierAPI 改变了一切。我写了一个指南(在iOS 9上测试过),可以总结如下:子类 UITableViewHeaderFooterView使用子类视图创建Nib,并添加1个容器视图,其中在页眉/页脚中包含所有其他视图注册笔尖 viewDidLoad实施viewForHeaderInSection并用于dequeueReusableHeaderFooterViewWithIdentifier获取页眉/页脚
打开App,查看更多内容
随时随地看视频慕课网APP