// // QXNiceGiftPopView.m // QXLive // // Created by 启星 on 2025/5/13. // #import "QXNiceGiftPopView.h" #import "GKPageControl.h" #import "QXGiftCell.h" #import "QXHomePageNetwork.h" @interface QXNiceGiftPopView() @property (nonatomic,strong)UIImageView *lightBgImageView; @property (nonatomic,strong)UIImageView *bgImageView; @property (nonatomic,strong)UIImageView *timeDownbgView; @property (nonatomic,strong)UILabel *timeDownLabel; @property (nonatomic,strong)UIView *giftBgView; //@property (nonatomic,strong)UIButton *ruleBtn; @property (nonatomic,strong)UICollectionView *collectionView; @property (nonatomic,strong)GKPageControl *pageControl; @property (nonatomic,strong)UILabel *messageLabel; @property (nonatomic,strong)UIButton *getBtn; @property (nonatomic,strong)UIButton *closeBtn; @property (nonatomic,strong)QXNiceGiftRechargeModel *model; @end @implementation QXNiceGiftPopView - (instancetype)init { self = [super init]; if (self) { self.frame = CGRectMake(0, 0, SCREEN_WIDTH, ScaleWidth(582)); [self initSubViews]; } return self; } -(void)initSubViews{ self.lightBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"a_pop_bg"]]; [self addSubview:self.lightBgImageView]; [self.lightBgImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.top.bottom.equalTo(self); }]; self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"a_pop_nice_gift"]]; [self addSubview:self.bgImageView]; [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.centerY.equalTo(self); make.size.mas_equalTo(CGSizeMake(ScaleWidth(275), ScaleWidth(338))); }]; self.timeDownbgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"gift_time_bg"]]; [self addSubview:self.timeDownbgView]; [self.timeDownbgView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.bgImageView).offset(ScaleWidth(117)); make.left.equalTo(self.bgImageView).offset(9); make.right.equalTo(self.bgImageView).offset(-9); make.width.mas_equalTo(ScaleWidth(20)); }]; self.timeDownLabel = [[UILabel alloc] init]; self.timeDownLabel.textColor = RGB16(0x666666); self.timeDownLabel.text = QXText(@"截止时间"); self.timeDownLabel.font = [UIFont systemFontOfSize:12]; [self addSubview:self.timeDownLabel]; [self.timeDownLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.bottom.equalTo(self.timeDownbgView); make.left.equalTo(self.timeDownbgView).offset(19); make.right.equalTo(self.timeDownbgView).offset(-19); }]; // self.ruleBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 54, 20)]; // self.ruleBtn.backgroundColor = QXConfig.themeColor; // [self.ruleBtn addTarget:self action:@selector(ruleAction) forControlEvents:(UIControlEventTouchUpInside)]; // [self.ruleBtn setTitle:QXText(@"规则") forState:(UIControlStateNormal)]; // self.ruleBtn.titleLabel.font = [UIFont systemFontOfSize:12]; // [self.ruleBtn setTitleColor:QXConfig.btnTextColor forState:(UIControlStateNormal)]; // [self.ruleBtn addRoundedCornersWithRadius:10 byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerBottomLeft)]; // [self addSubview:self.ruleBtn]; // [self.ruleBtn mas_makeConstraints:^(MASConstraintMaker *make) { // make.right.equalTo(self.bgImageView); // make.centerY.equalTo(self.timeDownbgView); // make.size.mas_equalTo(CGSizeMake(ScaleWidth(54), ScaleWidth(20))); // }]; self.giftBgView = [[UIView alloc] init]; // self.giftBgView.backgroundColor = [UIColor whiteColor]; [self.giftBgView addRoundedCornersWithRadius:13]; [self addSubview:self.giftBgView]; [self.giftBgView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.timeDownbgView.mas_bottom).offset(ScaleWidth(3)); make.left.equalTo(self.bgImageView).offset(15); make.right.equalTo(self.bgImageView).offset(-15); make.bottom.equalTo(self.bgImageView).offset(-ScaleWidth(51)); }]; UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; layout.itemSize = CGSizeMake((ScaleWidth(275-15*2-12*2-3*8))/4, ScaleWidth(76)); layout.minimumLineSpacing = 8; layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; [self.collectionView registerNib:[UINib nibWithNibName:@"QXGiftCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXGiftCell"]; self.collectionView.delegate = self; self.collectionView.dataSource = self; self.collectionView.showsHorizontalScrollIndicator = NO; self.collectionView.bounces = NO; self.collectionView.pagingEnabled = YES; [self.giftBgView addSubview:self.collectionView]; [self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(12); make.top.mas_equalTo(ScaleWidth(16)); make.height.mas_equalTo(ScaleWidth(76)); make.right.mas_equalTo(-12); }]; _pageControl = [[GKPageControl alloc] init]; _pageControl.style = GKPageControlStyleRectangle; _pageControl.dotWidth = 15; _pageControl.dotHeight = 5; _pageControl.dotMargin = 2; _pageControl.pageIndicatorTintColor = RGB16(0xEBEBEB); _pageControl.currentPageIndicatorTintColor = QXConfig.textColor; [self.giftBgView addSubview:self.pageControl]; [self.pageControl mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.collectionView.mas_bottom).offset(9); make.height.mas_equalTo(5); make.right.mas_equalTo(-48); make.left.mas_equalTo(48); }]; self.messageLabel = [[UILabel alloc] init]; self.messageLabel.font = [UIFont systemFontOfSize:12]; self.messageLabel.numberOfLines = 0; self.messageLabel.text = @""; self.messageLabel.textColor = QXConfig.textColor; [self.giftBgView addSubview:self.messageLabel]; [self.messageLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(12); make.right.mas_equalTo(-12); make.top.equalTo(self.pageControl.mas_bottom).offset(2); make.bottom.equalTo(self.giftBgView).offset(-5); }]; self.getBtn = [[UIButton alloc] init]; [self.getBtn addRoundedCornersWithRadius:21]; self.getBtn.backgroundColor = QXConfig.themeColor; [self.getBtn setTitle:QXText(@"立即充值") forState:(UIControlStateNormal)]; [self.getBtn setTitleColor:QXConfig.btnTextColor forState:(UIControlStateNormal)]; self.getBtn.titleLabel.font = [UIFont systemFontOfSize:14]; [self.getBtn addTarget:self action:@selector(getAction) forControlEvents:(UIControlEventTouchUpInside)]; [self addSubview:self.getBtn]; [self.getBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.bgImageView).offset(-ScaleWidth(16)); make.height.mas_equalTo(42); make.right.equalTo(self.bgImageView).offset(-48); make.left.equalTo(self.bgImageView).offset(48); }]; self.closeBtn = [[UIButton alloc] init]; [self.closeBtn setBackgroundImage:[UIImage imageNamed:@"home_white_close"] forState:(UIControlStateNormal)]; [self.closeBtn addTarget:self action:@selector(closeAction) forControlEvents:(UIControlEventTouchUpInside)]; [self addSubview:self.closeBtn]; [self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self); make.top.equalTo(self.bgImageView.mas_bottom).offset(8); make.height.width.mas_equalTo(30); }]; [self getGiftList]; } -(void)getGiftList{ MJWeakSelf [QXHomePageNetwork getSkyDropGiftListSuccessBlock:^(QXNiceGiftRechargeModel * _Nonnull model) { weakSelf.model = model; weakSelf.timeDownLabel.text = [NSString stringWithFormat:@"结束时间:%@",model.effective_time]; NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:model.counter]; [attr yy_setColor:QXConfig.themeColor range:[model.counter rangeOfString:model.money]]; [attr yy_setColor:QXConfig.themeColor range:[model.counter rangeOfString:model.diamond]]; weakSelf.messageLabel.attributedText = attr; [weakSelf.collectionView reloadData]; } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { if (weakSelf.refreshBlcock) { weakSelf.refreshBlcock(); } }]; } -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ return self.model.gift_list.count; } -(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ QXGiftCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXGiftCell" forIndexPath:indexPath]; cell.cellType = QXGiftCellTypeNiceGift; cell.niceGiftModel = self.model.gift_list[indexPath.row]; return cell; } // 立即领取 -(void)getAction{ if (self.rechargeActionBlock) { self.rechargeActionBlock(self.model.money,self.model.gift_bag_id); } } -(void)closeAction{ if (self.closeActionBlock) { self.closeActionBlock(); } } @end