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

来源:互联网 发布:网络优化工程师培训 编辑:程序博客网 时间:2024/06/06 11:38
1.首先要自定义一个sectionHeadView/sectionFootView继承自UITableViewHeaderFooterView,如下:

@interfaceFriendCircleView : UITableViewHeaderFooterView

2.在自定义的sectionHeadView/sectionFootView中重写这个方法,设置复用
- (instancetype)initWithReuseIdentifier:(NSString*)reuseIdentifier{
   
   
self = [superinitWithReuseIdentifier:reuseIdentifier];
   
   
if (self) {
       
        [self_init];//_init表示初始化方法
    }
   
   
return self;
}

3.在需要调用自定义sectionHeadView/sectionFootView的VC里面调用table的代理方法,用法跟cell的复用相似
- (nullableUIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section{
   
   
static NSString *viewIdentfier =@"headView";
   
   
FriendCircleView *sectionHeadView = [tableViewdequeueReusableHeaderFooterViewWithIdentifier:viewIdentfier];
   
   
if(!sectionHeadView){
       
        sectionHeadView = [[
FriendCircleViewalloc]initWithReuseIdentifier:viewIdentfier];
    }
   
    sectionHeadView.
friendCircleModel= _postArray[section];
   
   
return sectionHeadView;
   
}

4.若想改变自定义区头的背景色,需设置:
self.contentView.backgroundColor= [UIColorwhiteColor];
0 0