主要适用于普通样式的情况下使用
直观 清晰, 编码时可随初始化控件编写完成, 不影响编码思路.
WMZBannerParam *param = BannerParam() .wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5)) //传入数据 .wDataSet([self getData]) //开启循环滚动 .wRepeatSet(YES) //开启自动滚动 .wAutoScrollSet(YES) //自动滚动时间 .wAutoScrollSecondSet(3) ; self.viewTwo = [[WMZBannerView alloc]initConfigureWithModel:param withView:self.view];
BannerParam() .wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5)) //item之间的间距 .wLineSpacingSet(15) //开启缩放效果 .wScaleSet(YES) //缩放垂直系数 .wActiveDistanceSet(400) //缩放系数 .wScaleFactorSet(0.5) //item的size .wItemSizeSet(CGSizeMake(BannerWitdh*0.8, BannerHeight/5)) //固定移动的距离 size*倍数 .wContentOffsetXSet(0.5) //默认选中 .wSelectIndexSet(2) .wRepeatSet(YES) .wAutoScrollSecondSet(3) .wAutoScrollSet(NO) //item中心位置 .wPositionSet(BannerCellPositionCenter) //整体左右偏移 item.width的一半 让第一个和最后一个可以居中 .wSectionInsetSet(UIEdgeInsetsMake(0,BannerWitdh*0.4, 0, BannerWitdh*0.4)) .wDataSet([self getData]);
跑马灯
WMZBannerParam *param = BannerParam() .wFrameSet(CGRectMake(10, BannerHeight/2-20, BannerWitdh-20, 30)) .wDataSet(@[@"热门商品",@"Hot",@"热点资讯",@"其他热门"]) //关闭手指滑动 .wCanFingerSlidingSet(NO) //开启循环滚动 .wRepeatSet(YES) //开启自动滚动 .wAutoScrollSet(YES) //自动滚动时间 .wAutoScrollSecondSet(3) //跑马灯 .wMarqueeSet(YES)
天猫精灵样式
大概效果图
BannerParam() .wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5)) .wDataSet([self getData]) //关闭pageControl .wHideBannerControlSet(YES) //开启缩放 .wScaleSet(YES) //垂直缩放参数 .wActiveDistanceSet(400) //缩放系数 .wScaleFactorSet(0.5) //自定义item的大小 .wItemSizeSet(CGSizeMake(BannerWitdh*0.7, BannerHeight/5)) //固定移动的距离 .wContentOffsetXSet(0.4) //循环 .wRepeatSet(YES) //item的间距 .wLineSpacingSet(10) //整体左右间距 右边偏移item.width的一半 让最后一个可以居中 .wSectionInsetSet(UIEdgeInsetsMake(0,10, 0, 10+BannerWitdh*0.35))
自定义cell
传入一个继承UICollectionViewCell的类
BannerParam() //自定义视图必传 .wMyCellClassNameSet(@"MyCell") .wMyCellSet(^UICollectionViewCell *(NSIndexPath *indexPath, UICollectionView *collectionView, id model, UIImageView *bgImageView,NSArray*dataArr) { //自定义视图 MyCell *cell = (MyCell *)[collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([MyCell class]) forIndexPath:indexPath]; [cell.icon sd_setImageWithURL:[NSURL URLWithString:model[@"icon"]] placeholderImage:nil]; cell.leftText.text = model[@"name"]; //毛玻璃效果必须实现 看实际情况 取最后一个还是中间那个 [bgImageView sd_setImageWithURL:[NSURL URLWithString:model[@"icon"]] placeholderImage:nil]; [bgImageView sd_setImageWithURL:[NSURL URLWithString:dataArr[(indexPath.row == 0?:(indexPath.row-1))][@"icon"]] placeholderImage:nil]; return cell; }) .wEventClickSet(^(id anyID, NSIndexPath *path) { NSLog(@"点击 %@ %@",anyID,path); }) .wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
更新UI
-(void)updateUI; 改变.wDataSet(@[]),然后调用updateUI()实例方法即可
其他可配置的全部参数说明
布局方式 frame 必传 wFrame 数据源 必传 wData 开启缩放 default NO wScale 背景毛玻璃效果 default NO wEffect 纵向(cell全屏的时候有效) default NO wVertical 跑马灯(文字效果) default NO wMarquee 缩放系数 数值越大缩放越大 default 0.5 wScaleFactor 垂直缩放 数值越大缩放越小 default 400 wActiveDistance item的size default 视图的宽高 item的width最小为父视图的一半 (为了保证同屏最多显示3个 减少不必要的bug) wItemSize item的之间的间距 default 0 wLineSpacing 滑动的时候偏移的距离 以倍数计算 default 0.5 正中间 wContentOffsetX 左右相邻item的中心点 default BannerCellPositionCenter wPosition 图片不变形铺满 默认 YES wImageFill 占位图片 默认 - wPlaceholderImage 开启无线滚动 default NO wRepeat 整体间距 default UIEdgeInsetsMake(0,0, 0, 0) 如果是一屏幕有2 3个的 要让第一个和最后一个居中最好设置偏移量 wSectionInset 开启自动滚动 default NO wAutoScroll 自动滚动间隔时间 default 3.0f wAutoScrollSecond 默认移动到第几个 default 0 wSelectIndex 自定义cell内容 default @“Collectioncell" wMyCell 自定义cell的类名 自定义视图必传 不然会crash wMyCellClassName 点击方法 wEventClick 隐藏pageControl default NO wHideBannerControl 是否允许手势滑动 default YES wCanFingerSliding 系统的圆点颜色 default ffffff wBannerControlColor 系统的圆点选中颜色 default orange wBannerControlSelectColor 自定义安全的圆点图标 default - wBannerControlImage 自定义安全的选中圆点图标 default - wBannerControlSelectImage 自定义安全的圆点图片圆角 default ImageSize/2 wBannerControlImageRadius 自定义安全的圆点图标的size default (5,5) wBannerControlImageSize 自定义安全的选中圆点图标的size default (10,5) wBannerControlSelectImageSize 滚动减速时间 default UIScrollViewDecelerationRateFast wDecelerationRate
SDWebImage
pod 'WMZBanner'
pod install
pod update
要在Buildding Settings 把CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF 设为NO
该库最低支持 iOS 9.0 和 Xcode 9.0。
iOS 9.0
Xcode 9.0