自定义tableView的section header/footerView时的view复用问题

简介: 自定义tableView的section header/footerView时的view复用问题

1.首先要自定义一个sectionHeadView/sectionFootView继承自 UITableViewHeaderFooterView,如下:

@interface FriendCircleView : UITableViewHeaderFooterView


2.在自定义的sectionHeadView/sectionFootView中重写这个方法,设置复用

- (instancetype)initWithReuseIdentifier:(NSString *)reuseIdentifier{
    self = [super initWithReuseIdentifier:reuseIdentifier];
    if (self) {
        [self _init];//_init表示初始化方法
    }
    return self;
}

3.在需要调用自定义sectionHeadView/sectionFootView的VC里面调用table的代理方法,用法跟cell的复用相似

- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    static NSString *viewIdentfier = @"headView";
    FriendCircleView *sectionHeadView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:viewIdentfier];
    if(!sectionHeadView){
        sectionHeadView = [[FriendCircleView alloc] initWithReuseIdentifier:viewIdentfier];
    }
    sectionHeadView.friendCircleModel = _postArray[section];
    return sectionHeadView;
}


4.若想改变自定义区头的背景色,需设置:

self.contentView.backgroundColor = [UIColor whiteColor];


目录
相关文章
layui嵌套弹出模态框的Blocked a frame with origin null from的解决方案
layui嵌套弹出模态框的Blocked a frame with origin null from的解决方案
179 0
|
6月前
|
监控 数据可视化 Linux
Qt Model&View&Delegate(模型-视图-代理) 介绍和使用
Qt Model&View&Delegate(模型-视图-代理) 介绍和使用
Qt Model&View&Delegate(模型-视图-代理) 介绍和使用
|
6月前
|
iOS开发
iOS UITableViewCell刷新某些行的cell或section
iOS UITableViewCell刷新某些行的cell或section
76 0
ViewPager2实现内部Item的动态滚动
最近接到了一个需求,大概类似如下图所示的一个样式(省略了部分细节,不影响大概)。
341 0
|
小程序 容器
讲述小程序之组件视图容器之movable-area与movable-view
讲述小程序之组件视图容器之movable-area与movable-view
398 0
讲述小程序之组件视图容器之movable-area与movable-view
|
API Android开发
实现一个带有header和footer功能的RecyclerView
这是我之前一篇老文章了,重新整理了一下在掘金发一下,大家可以参考参考。 RecyclerView是Android 5.0版本引入的一个新的组件,目的是在一些场景中取代之前ListView和GridView,实现性能更优的解决方案。同时RecyclerView的灵活性让它可胜任更多的场景。关于RecyclerView的使用有太多的文章了,大家可以自行搜索。 我们知道RecyclerView很灵活,灵活到很多功能需要我们自己实现,比如ListView和GridView中最常用的Item点击事件。所以在使用了几次后,我准备自己封装一个WrapRecyclerView,实现一些非常常用的功能。
251 0
|
Java Android开发
(周期计划-2)RecyclerView封装系列(1):Header、Footer
​ 2018年技术周期计划:周期计划-2(2018/1/8-2018/1/14) 写在前面 写这边文章的时候是2018年1月12日,也就是18年的第二周,按照原计划应该是关于分割线的封装,不过后来想一想既然提到了封装,那不如多写一写,因此有了这个封装系列。
946 0