自定义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];


目录
相关文章
|
4月前
|
iOS开发
iOS UITableViewCell刷新某些行的cell或section
iOS UITableViewCell刷新某些行的cell或section
34 0
|
4月前
|
监控 iOS开发
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
45 0
|
缓存
ViewPager懒加载的实现,理解setUserVisibleHint,而不只是会用就好
Viewpager默认会缓存临近操作的两个页面,也就是至少会缓存一个页面。
187 0
ViewPager懒加载的实现,理解setUserVisibleHint,而不只是会用就好
|
API Android开发
实现一个带有header和footer功能的RecyclerView
这是我之前一篇老文章了,重新整理了一下在掘金发一下,大家可以参考参考。 RecyclerView是Android 5.0版本引入的一个新的组件,目的是在一些场景中取代之前ListView和GridView,实现性能更优的解决方案。同时RecyclerView的灵活性让它可胜任更多的场景。关于RecyclerView的使用有太多的文章了,大家可以自行搜索。 我们知道RecyclerView很灵活,灵活到很多功能需要我们自己实现,比如ListView和GridView中最常用的Item点击事件。所以在使用了几次后,我准备自己封装一个WrapRecyclerView,实现一些非常常用的功能。
239 0
SwiftUI—Text视图的填充属性
SwiftUI—Text视图的填充属性
330 0
SwiftUI—Text视图的填充属性
使用page-slot显示SAP Spartacus section里包含的Component和layout设计
使用page-slot显示SAP Spartacus section里包含的Component和layout设计
使用page-slot显示SAP Spartacus section里包含的Component和layout设计
fragment嵌套viewpager不显示
fragment嵌套viewpager不显示
180 0
|
Java Android开发 Python
RecyclerView实现多type页面
目录介绍 01.先看看实际需求 02.adapter实现多个type 03.这样写的弊端 04.如何优雅实现adapter封装 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也...
972 0
|
Android开发
Android RecyclerView增加头部Header和尾部Footer,并实现Item分组
Android RecyclerView增加头部Header和尾部Footer,并实现Item分组 如图所示: 在Android的RecyclerView上实现增加若干头部Header和若干尾部Footer,关键是利用ViewType的类型,然后由本例的抽象类Item返回的类型加载不同的ViewHolder。
3478 0
|
Java Android开发
(周期计划-2)RecyclerView封装系列(1):Header、Footer
​ 2018年技术周期计划:周期计划-2(2018/1/8-2018/1/14) 写在前面 写这边文章的时候是2018年1月12日,也就是18年的第二周,按照原计划应该是关于分割线的封装,不过后来想一想既然提到了封装,那不如多写一写,因此有了这个封装系列。
934 0