| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- //
- // MOSquareBannerReusableView.m
- // MiMoLive
- //
- // Created by SuperC on 2024/3/20.
- //
- #import "MOSquareBannerReusableView.h"
- @implementation MOSquareBannerReusableView
- - (instancetype)initWithFrame:(CGRect)frame
- {
- if (self = [super initWithFrame:frame])
- {
- [self setupUI];
- }
- return self;
- }
- - (void)setupUI{
-
- self.layer.masksToBounds = YES;
- self.layer.cornerRadius = 16;
-
- [self addSubview:self.pagerView];
- [self.pagerView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self).offset(0.0);
- make.left.equalTo(self).offset(0.0);
- make.right.equalTo(self).offset(0.0);
- make.height.equalTo(@82.0);
- }];
-
- [self.pagerView addSubview:self.pageControl];
- [self.pageControl mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.equalTo(self.pagerView).offset(-48.0);
- make.bottom.equalTo(self.pagerView).offset(-8.0);
- make.height.equalTo(@10.0);
- }];
- }
- - (void)setImageArr:(NSArray *)imageArr{
- _imageArr = imageArr;
-
- if(imageArr.count <= 1){
- self.pageControl.hidden = YES;
- }
- else{
- self.pageControl.hidden = NO;
- }
- self.pageControl.numberOfPages = imageArr.count;
-
- [self.pagerView reloadData];
- }
- #pragma mark - TYCyclePagerViewDataSource
- - (NSInteger)numberOfItemsInPagerView:(TYCyclePagerView *)pageView {
- return self.imageArr.count;
- }
- - (UICollectionViewCell *)pagerView:(TYCyclePagerView *)pagerView cellForItemAtIndex:(NSInteger)index {
- MOJumpList *jumpModel = self.imageArr[index];
- MOBaseBannerCell *cell = [pagerView dequeueReusableCellWithReuseIdentifier:MOBaseBannerCell_ID forIndex:index];
- cell.contentView.layer.masksToBounds = YES;
- cell.contentView.layer.cornerRadius = 16;
- [cell.iconImgView sd_setImageWithURL:[NSURL URLWithString:jumpModel.img]];
- return cell;
- }
- - (TYCyclePagerViewLayout *)layoutForPagerView:(TYCyclePagerView *)pageView {
- TYCyclePagerViewLayout *layout = [[TYCyclePagerViewLayout alloc]init];
- layout.itemSize = CGSizeMake(CGRectGetWidth(pageView.frame), CGRectGetHeight(pageView.frame));
- layout.itemSpacing = 0;
- return layout;
- }
- - (void)pagerView:(TYCyclePagerView *)pageView didScrollFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex {
- // MOLogV(@"%ld -> %ld",fromIndex,toIndex);
- self.pageControl.currentPage = toIndex;
- }
- - (void)pagerView:(TYCyclePagerView *)pageView didSelectedItemCell:(__kindof UICollectionViewCell *)cell atIndex:(NSInteger)index{
- MOJumpList *jumpModel = self.imageArr[index];
- SendObjNotification(@"MOSquareListVC_H5Jump", jumpModel);
- }
- - (TYCyclePagerView *)pagerView{
- if(!_pagerView){
- CGFloat width = SCREENWIDTH - 12.0 * 2.0;
- _pagerView = [[TYCyclePagerView alloc] initWithFrame:CGRectMake(0.0, 0.0, width, 80.0)];
- _pagerView.layer.cornerRadius = 16.0;
- _pagerView.layer.masksToBounds = YES;
- _pagerView.isInfiniteLoop = YES;
- _pagerView.autoScrollInterval = 3.0;
- _pagerView.dataSource = self;
- _pagerView.delegate = self;
- [_pagerView registerClass:[MOBaseBannerCell class] forCellWithReuseIdentifier:MOBaseBannerCell_ID];
- }
- return _pagerView;
- }
- - (TYPageControl *)pageControl{
- if(!_pageControl){
- _pageControl = [[TYPageControl alloc] init];
- _pageControl.pageIndicatorSize = CGSizeMake(6.0, 6.0);
- _pageControl.currentPageIndicatorSize = CGSizeMake(16.0, 6.0);
- _pageControl.pageIndicatorTintColor = [MOTools colorWithHexString:@"#FFFFFF" alpha:0.5];
- _pageControl.currentPageIndicatorTintColor = [UIColor whiteColor];
- _pageControl.pageIndicatorSpaing = 4.0;
- }
- return _pageControl;
- }
- @end
|