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

本文介绍了如何解决自定义tableView的section header和footerView时的view复用问题。通过创建自定义的UITableViewHeaderFooterView子类,重写`initWithReuseIdentifier`方法进行初始化,并在tableView的代理方法`viewForHeaderInSection`中实现复用逻辑,确保视图正确显示。同时,还提到了如何改变自定义区头的背景颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 ];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值