collectionview通过设置contentInset方式添加表头Header,影响MJRefresh使用的解决方案


//1.代码

- (void)viewDidLoad {

    [superviewDidLoad];

    

    self.isShowSortList =NO;

    self.title =@"热销商品";

    self.navigationController.navigationBar.translucent = NO;

    //获取枚举

    self.pageSize =10;

    self.pageNo =1;

    //排序类表

    MBProgressHUD *hud = [MBProgressHUDshowHUDAddedTo:self.viewanimated:YES];

    [RegisterHttpToolgetEnumsWithEnumAttr:@"PRODUCT_SORT_TYPE"success:^(EnumListDTO *result) {

        [hud hide:YES];

        [self.enumsremoveAllObjects];

        self.enums = result.enums;

#pragma mark ---绘画collectionview---和头部轮播图选择按钮

        //CollectionView

        self.flowLayout = [[UICollectionViewFlowLayoutalloc]init];

        self.flowLayout.itemSize =CGSizeMake((SCREEN_SIZE_WIDTH-5)/2, (SCREEN_SIZE_WIDTH-5)/2*(462.0/370));

        self.flowLayout.minimumLineSpacing =5;

        self.flowLayout.minimumInteritemSpacing =5;

        self.myCollectionView = [[UICollectionViewalloc]initWithFrame:CGRectMake(0,0, SCREEN_SIZE_WIDTH,SCREEN_SIZE_WIDTH) collectionViewLayout:self.flowLayout];

        self.myCollectionView.delegate =self;

        self.myCollectionView.dataSource =self;

        self.myCollectionView.backgroundColor =NORMAL_BKG_GREY;

        [self.viewaddSubview:self.myCollectionView];

        [self.myCollectionViewmas_makeConstraints:^(MASConstraintMaker *make) {

            make.edges.mas_equalTo(self.view);

        }];

        [self.myCollectionViewregisterClass:[ShopSearchResultCellclass] forCellWithReuseIdentifier:@"ShopSearchResultCell"];

       //下拉(解决设置contentInset 遮挡mj_header显示关键代码)

        MJRefreshNormalHeader *ref_header =[MJRefreshNormalHeaderheaderWithRefreshingTarget:selfrefreshingAction:@selector(makeTheTabDown:)];

        ref_header.ignoredScrollViewContentInsetTop = (SCREEN_SIZE_WIDTH*2/5+43+1);

        self.myCollectionView.mj_header = ref_header;

        //上拉加载

        self.myCollectionView.mj_footer = [MJRefreshAutoFooterfooterWithRefreshingTarget:selfrefreshingAction:@selector(makeTheTabUp:)];

        self.myCollectionView.contentInset =UIEdgeInsetsMake(SCREEN_SIZE_WIDTH*2/5+43+1,0, 0,0);

        [selfgetDataFromSever];

        

        //轮播图(w/h3/2)

        UIView *lunBoView = [[UIViewalloc]init];

        [self.myCollectionViewaddSubview:lunBoView];

        lunBoView.backgroundColor = [UIColoryellowColor];

        [lunBoView mas_makeConstraints:^(MASConstraintMaker *make) {

            make.top.mas_equalTo(-(SCREEN_SIZE_WIDTH*2/5+43+1));

            make.left.mas_equalTo(self.myCollectionView);

            make.width.mas_equalTo(SCREEN_SIZE_WIDTH);

            make.height.mas_equalTo(SCREEN_SIZE_WIDTH*2/5);

        }];

        self.imgvScrollView = [[SDCycleScrollViewalloc]init];

        [lunBoView addSubview:self.imgvScrollView];

        self.imgvScrollView.delegate =self;

        self.imgvScrollView.autoScroll =YES;

        self.imgvScrollView.showPageControl =YES;

        self.imgvScrollView.infiniteLoop =YES;

        self.imgvScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;

        self.imgvScrollView.placeholderImage =[UIImageimageNamed:@"placeholder_img"];

        

        [self.imgvScrollViewmas_makeConstraints:^(MASConstraintMaker *make) {

            make.top.mas_equalTo(lunBoView.mas_top);

            make.left.mas_equalTo(lunBoView.mas_left);

            make.right.mas_equalTo(lunBoView.mas_right);

            make.bottom.mas_equalTo(lunBoView.mas_bottom);

        }];

        

#pragma mark---排序数据---sortBtn

        //默认的状态

        self.currentSortKind =0;

        EnumDetailDTO *model =self.enums[0];

        self.order = model.enumKey;

        //排序按钮

        self.sortBtnBkg = [[UIViewalloc]init];

        self.sortBtnBkg.backgroundColor = [UIColorwhiteColor];

        [self.myCollectionViewaddSubview:self.sortBtnBkg];

        [self.sortBtnBkgmas_makeConstraints:^(MASConstraintMaker *make) {

            make.left.mas_equalTo(self.myCollectionView.mas_left);

            make.top.mas_equalTo(lunBoView.mas_bottom);

            make.size.mas_equalTo(CGSizeMake(SCREEN_SIZE_WIDTH,43));

        }];

        self.sortBtn = [UIButtonbuttonWithType:UIButtonTypeSystem];

        self.sortBtn.backgroundColor = [UIColorwhiteColor];

        [self.sortBtnsetTintColor:PINK_DARK_COLOR];

        [self.sortBtnsetTitle:model.enumValueforState:UIControlStateNormal];

        self.sortBtn.layer.cornerRadius = BUTTON_RADUIS;

        self.sortBtn.layer.borderWidth = 0.5;

        self.sortBtn.layer.borderColor = PINK_DARK_COLOR.CGColor;

        self.sortBtn.contentEdgeInsets =UIEdgeInsetsMake(0,10,0, 20);

        [self.sortBtnaddTarget:selfaction:@selector(chooseSortAction:)forControlEvents:UIControlEventTouchUpInside];

        [self.sortBtnBkgaddSubview:self.sortBtn];

        [self.sortBtnmas_makeConstraints:^(MASConstraintMaker *make) {

            make.left.mas_equalTo(self.sortBtnBkg.mas_left).mas_equalTo(TEXT_EDGE_DISTANCE);

            make.centerY.mas_equalTo(self.sortBtnBkg.mas_centerY);

            make.size.mas_equalTo(CGSizeMake(SCREEN_SIZE_WIDTH/3,30));

        }];

        //后面的三角

        self.sortBtnImgv = [[UIImageViewalloc]init];

        [self.sortBtnaddSubview:self.sortBtnImgv];

        self.sortBtnImgv.image = [UIImageimageNamed:@"temp_red_sanjiao1"];

        [self.sortBtnImgvmas_makeConstraints:^(MASConstraintMaker *make) {

            make.centerY.mas_equalTo(self.sortBtn.mas_centerY);

            make.right.mas_equalTo(self.sortBtn.mas_right).mas_offset(-5);

            make.width.height.mas_equalTo(5);

        }];

        

        //线

        UIView *lineView = [[UIViewalloc]init];

        [self.myCollectionViewaddSubview:lineView];

        lineView.backgroundColor =TEXT_LIGHT_MIDDLE_GREY;

        [lineView mas_makeConstraints:^(MASConstraintMaker *make) {

            make.left.mas_equalTo(self.view.mas_left);

            make.top.mas_equalTo(self.sortBtnBkg.mas_bottom);

            make.size.mas_equalTo(CGSizeMake(SCREEN_SIZE_WIDTH,1));

        }];

        //轮播图

        MBProgressHUD *lunHud = [MBProgressHUDshowHUDAddedTo:self.viewanimated:YES];

        [ShopHttpToolgetBannerListWithColumnId:self.columnIdsuccess:^(BannerListDTO *result) {

            [lunHud hide:YES];

            self.bannerList = result.bannerList;

            NSMutableArray *arrUrl = [NSMutableArrayarray];

            for (int i =0; i<self.bannerList.count; i++) {

                BannerDetailDTO * model = self.bannerList[i];

                [arrUrladdObject:model.imgUrl];

            }

            self.imgvScrollView.imageURLStringsGroup = arrUrl;

            [self.myCollectionViewreloadData];

        } failure:^(NSInteger code,NSString *desc) {

            [lunHud showFailure:desc action:nil];

        }];

        [selfgetDataFromSever];

    } failure:^(NSInteger code,NSString *desc) {

        [hud showFailure:descaction:nil];

    }];

    

    //右键

    UIBarButtonItem *rightButton = [[UIBarButtonItemalloc] initWithImage:[UIImageimageNamed:@"speak_each"]style:UIBarButtonItemStylePlaintarget:selfaction:@selector(rightBarButtonItemPressed:)];

    self.navigationItem.rightBarButtonItem = rightButton;

    

    UIBarButtonItem *leftButton = [[UIBarButtonItemalloc] initWithImage:[UIImageimageNamed:@"back_dark_icon"]style:UIBarButtonItemStylePlaintarget:selfaction:@selector(leftButtonBackPage:)];

    self.navigationItem.leftBarButtonItem = leftButton;

}


//2.原理设置MJ头部忽略偏移(ignoredScrollViewContentInsetTop)

      MJRefreshNormalHeader *ref_header =                                            [MJRefreshNormalHeader headerWithRefreshingTarget:selfrefreshingAction:@selector(makeTheTabDown:)];

        ref_header.ignoredScrollViewContentInsetTop = (SCREEN_SIZE_WIDTH*2/5+43+1);

        self.myCollectionView.mj_header = ref_header;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值