tableView实现第一个cell半遮挡tableHeaderView

问题描述

实现如下效果图


tableView实现第一个cell半遮挡tableHeaderView_第1张图片
这里写图片描述

居家头条的cell要半遮挡住顶部的banner,并且上下滑动的时候,banner也要滑动

实现过程

1.让顶部的tableHeaderView是一个空的view,并且设置tableHeaderView的高度等于Banner的高度减去要遮挡的高度。

    UIView * view = [[UIView alloc] init];
    
    view.backgroundColor = [UIColor clearColor];
    
    self.tableViewRefresh.tableHeaderView = view;
    
    
    self.tableViewRefresh.tableHeaderView.height = MasScale_1080(500);

2.在tableView添加BannerView。

 [self.tableViewRefresh addSubview:self.viewHead];
- (UIView *)viewHead{


    if (!_viewHead) {
        
        _viewHead = [[UIView alloc]init];
        
        [self headViewP];
    }

    
    return _viewHead;
}

- (void)headViewP{
    
    _viewHead.frame = [UIView getFrame_x_1080:0 y:0 width:MasScale_1080(1080) height:MasScale_1080(539)];
    
   
   
    
    
    _viewHead.backgroundColor = defaultBgColor;
    
    _viewHead.clipsToBounds = YES;
    
    
    [_viewHead addSubview:self.scrolBanner];
    
    
   

}


#pragma mark --获取scrolBanner 懒加载

- (MyScrollView *)scrolBanner{

    if (!_scrolBanner) {
        CGRect rect =  [UIView getFrame_x_1080:0 y:0 width:MasScale_1080(1080) height:MasScale_1080(539)];
        
        
        _scrolBanner = [[MyScrollView alloc] initWithFrame:rect];
        _scrolBanner.scrolDelegate = self;
        
    }

    
    return  _scrolBanner;
}

3.设置添加的view置于最底层

  [self.tableViewRefresh sendSubviewToBack:self.viewHead];
   
   

4.把headerView remove掉,因为不romove的话,添加的view没有交互

 [self.tableViewRefresh.tableHeaderView removeFromSuperview];
   
   

最终效果图

tableView实现第一个cell半遮挡tableHeaderView_第2张图片
这里写图片描述

你可能感兴趣的:(tableView实现第一个cell半遮挡tableHeaderView)