前些日子,抽空做了一下所谓的微3D效果的控件,然后我给他取名叫JECalourseView,由于本人比较忙,比比较懒,所以一般这种demo都不写备注,所以有些人使用的时候会有些困扰。
对了下面是github的地址,大家有空去star一下
首先看演示效果:
Step1:首先我们要先看一下JECalourseView的结构
这边的JECalourseView是JECalourseView的主体,相当于UITableview
而JECalourseCell是显示轮播图的控件,这边相当于UITableViewCell.
于此同时,JeDemoCell大家不用看,只是一个UITableView
看到了吧,大家一定能猜出我是模仿UITableView做的吧。
Step2:初始化JECalourseView
JECalourseView* calourse = [[JECalourseView alloc]initWithFrame:CGRectMake(25, 10, self.bounds.size.width-50, 200)];
[self addSubview:calourse];
[calourse setDataSource:self];//设施数据源,类似于UITableView的数据源
_calourse=calourse;
同样我们的控制器得遵循JECalourseViewDataSource
协议
Step3:DataSource数据源方法
没错和UITableView里面的数据源方法用处一样,同样JECalourseView没有数据源方法,也是会崩的。
-(NSInteger)JE3DCalourseNumber
{
return 5;
}
这是第一个数据源方法,目的是传递所有需要轮播的图片的数目
-(void)JE3DCalourseViewWith:(JECalourseCell *)Cell andIndex:(NSInteger)index
{
[Cell.imageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%ld.jpg",(long)index]]];
}
JE3DCalourseViewWith这个方法主要就是给cell赋值。
好了这样的话, 3D轮播图就可以OK了