// // ASHomeBannerCell.m // Asteria // // Created by iOS on 2023/6/5. // #import "ASHomeBannerCell.h" #import "WMZBannerView.h" @interface ASHomeBannerCell () @property (nonatomic,strong) UIPageControl *control; @property (nonatomic, strong) WMZBannerView *bannerV; @end @implementation ASHomeBannerCell - (void)showData:(NSArray *)arr { self.control.numberOfPages = arr.count; self.control.currentPage = 0; NSMutableArray *images = [NSMutableArray array]; for (ASJumpModel *m in arr) { [images addObject:m.image]; } @weakify(self); CGFloat h = (KScreenWidth-10-30)/335*445; WMZBannerParam *param = BannerParam() .wFrameSet(CGRectMake(-20,10, KScreenWidth+20, h)) .wItemSizeSet(CGSizeMake((KScreenWidth-10-30),h)) .wDataSet(images) .wPlaceholderImageSet(@"product_defualtImg") .wScaleFactorSet(0.1f) .wImageFillSet(false) .wCustomImageRadioSet(8) .wEventClickSet(^(id anyID,NSInteger index) { if (arr.count <= index) { return; } ASJumpModel *temp = arr[index]; weak_self.selectCallBack(index, temp.title, temp.link, temp); }) .wEventScrollEndSet(^(id anyID, NSInteger index, BOOL isCenter, UICollectionViewCell *cell) { // NSLog(@"滚动到第%ld个,内容:%@",index,anyID); // [self.control setCurrentPage:index]; }) .wEventDidScrollSet(^(CGPoint offset){ [weak_self.control setCurrentPage:self.bannerV.bannerControl.currentPage]; }) .wSectionInsetSet(UIEdgeInsetsMake(0, 0, 7, 0)) .wHideBannerControlSet(true) .wScaleSet(true) //设置item的间距 .wLineSpacingSet(10) //开启卡片叠加模式 // .wCardOverLapSet(true) //毛玻璃背景 // .wEffectSet(YES) //循环 .wRepeatSet(true) //开启自动滚动 .wAutoScrollSet(YES) ; [self.bannerV resetParam:param]; } - (void)awakeFromNib { [super awakeFromNib]; // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.selectionStyle = UITableViewCellSelectionStyleNone; [self loadSubV]; } return self; } - (void)loadSubV { self.backgroundColor = UIColor.whiteColor; [self.contentView addSubview:self.bannerV]; [self.contentView addSubview:self.control]; CGFloat h = (KScreenWidth-10-30)/335*445; [self.bannerV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.contentView.mas_top).offset(10); make.left.equalTo(self.contentView).offset(-20); make.right.equalTo(self.contentView).offset(0); make.height.equalTo([NSNumber numberWithFloat:h]); }]; [self.control mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.bannerV.mas_bottom).offset(10); make.width.equalTo(@280); make.height.equalTo(@10); make.centerX.equalTo(self.contentView); make.bottom.equalTo(self.contentView).offset(-5); }]; } // MARK: - subvs -(WMZBannerView *)bannerV { if (!_bannerV) { WMZBannerView *v = [[WMZBannerView alloc] init]; _bannerV = v; } return _bannerV; } -(UIPageControl *)control { if (!_control) { _control = [[UIPageControl alloc] init]; [_control setTintColor:[UIColor colorWithHexString:@"#000000"]]; [_control setPageIndicatorTintColor:[[UIColor colorWithHexString:@"#000000"] colorWithAlphaComponent:0.3] ]; [_control setCurrentPageIndicatorTintColor:[UIColor colorWithHexString:@"#000000"] ]; _control.transform = CGAffineTransformScale(_control.transform, 1.15, 1.15); } return _control; } @end