无线轮转视图的代码实现https://github.com/zhouyelihua/yssRotateView
https://cocoapods.org/pods/yssRotateView
代码可以在下载(其中包括banner的示意图)
也可以用cocoapods 直接用 pod ‘yssRotateView’引入
首先给一个实现
//视图创建
self.yssBanner=[[yssRotateView alloc]initWithCellViewClass:[yssBannerCell class] autoRotate:YES idleTime:5.0 pageIndicatorTintColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.12] currentPageIndicatorTintColor:[UIColor whiteColor] pageContrlFromBottom:8 pageControlHeight:6.5 clickIndexHandle:^(NSInteger index) {
;//一般用于写死的跳转链接
}];
[self.view addSubview:self.yssBanner];
[self.yssBanner setFrame:CGRectMake(0, 100, [UIScreen mainScreen].bounds.size.width, 100)];
self.yssBanner.backgroundColor=[UIColor greenColor];
//数据绑定
NSArray *data=@[[UIImage imageNamed:@"aaa.png"],[UIImage imageNamed:@"bbb.png"],[UIImage imageNamed:@"aaad.jpg"]];
[self.yssBanner bindCellDataWithcellsCount:[data count] bindCellDataHandle:^( UIView*v, NSInteger index) {
[(yssBannerCell*)v bindCellData:[data objectAtIndex:index]];//记得需要强制转化;这里表示的是第index个view需要执行的操作
}];
1.cell中数据的创建和数据的绑定是可以分开的
2.无线轮转不应该是写死cell样式本代码支持cell可以自己创建。通过传入Class来进行
具体看一下效果
具体看一下无线轮转的接口的定义:
/**
RotateView的参数介绍
@param frame frame
@param cellViewClass cell的class类型
@param autoRotate 是否自动旋转
@param idleTime 每个cell停留时间
@param pageIndicatorTintColor pageCotrol的颜色
@param currentPageIndicatorTintColor pageControl选中时候的颜色
@param handle 点击时候的操作block
@return <#return value description#>
*/
-(instancetype)initWithCellViewClass:(Class)cellViewClass
autoRotate:(BOOL)autoRotate
idleTime:(CGFloat)idleTime
pageIndicatorTintColor:(UIColor*)pageIndicatorTintColor
currentPageIndicatorTintColor:(UIColor*)currentPageIndicatorTintColor
pageContrlFromBottom:(CGFloat)pageContrlFromBottom
pageControlHeight:(CGFloat)pageControlHeight
clickIndexHandle:(yssRotateViewClickIndexBlock)handle;
/**
<#Description#>
@param count cell的个数
@param bindDataBlock 具体的绑定block
*/
-(void) bindCellDataWithcellsCount:(NSInteger)count bindCellDataHandle:(yssBindCellDataIndexBlock)bindDataBlock;