博客> 无线轮转视图实现
无线轮转视图实现
2017-07-21 12:42 评论:0 阅读:73 yeahpingye
ios 轮转视图

无线轮转视图的代码实现https://github.com/zhouyelihua/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;
收藏
0
sina weixin mail 回到顶部