为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只斗牛犬 2019-11-21 14:25:33
无需使用情节提要,我们可以简单地将a UIView拖到画布上,进行布局,然后在tableView:viewForHeaderInSection或tableView:viewForFooterInSection委托方法中进行设置。我们如何通过StoryBoard做到这一点,而不能将UIView拖到画布上
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

我知道这个问题是针对iOS 5的,但是为了将来的读者受益,请注意,我们现在可以使用有效的iOS 6 dequeueReusableHeaderFooterViewWithIdentifier代替dequeueReusableCellWithIdentifier。


因此viewDidLoad,请致电registerNib:forHeaderFooterViewReuseIdentifier:或registerClass:forHeaderFooterViewReuseIdentifier:。然后在viewForHeaderInSection,请致电tableView:dequeueReusableHeaderFooterViewWithIdentifier:。您不能使用带有此API的单元原型(它是基于NIB的视图或以编程方式创建的视图),但这是用于出列的页眉和页脚的新API。


查看完整回答
反对 回复 2019-11-21
?
慕仙森

TA贡献1827条经验 获得超7个赞

只需使用原型单元格作为您的节的页眉和/或页脚。

  • 添加一个额外的单元格,然后将所需的元素放入其中。

  • 将标识符设置为特定的内容(在我的情况下为SectionHeader)

  • 实现tableView:viewForHeaderInSection:方法或tableView:viewForFooterInSection:方法

  • 用于[tableView dequeueReusableCellWithIdentifier:]获取标题

  • 实现该tableView:heightForHeaderInSection:方法。

//img1.sycdn.imooc.com//5dd62dfa00017c1b09130372.jpg

-(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"];


查看完整回答
反对 回复 2019-11-21
?
守着一只汪

TA贡献1872条经验 获得超3个赞

在iOS 6.0及更高版本中,新dequeueReusableHeaderFooterViewWithIdentifierAPI 改变了一切。

我写了一个指南(在iOS 9上测试过),可以总结如下:

  1. 子类 UITableViewHeaderFooterView

  2. 使用子类视图创建Nib,并添加1个容器视图,其中在页眉/页脚中包含所有其他视图

  3. 注册笔尖 viewDidLoad

  4. 实施viewForHeaderInSection并用于dequeueReusableHeaderFooterViewWithIdentifier获取页眉/页脚


查看完整回答
反对 回复 2019-11-21
  • 3 回答
  • 0 关注
  • 565 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信