icarousel旋转木马的详解--当前itemscale和alpha
来源:互联网 发布:网络视频下载器有那些 编辑:程序博客网 时间:2024/06/05 02:51
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColorcyanColor];
//设置代理
self.iCarouselView.delegate =self;
self.iCarouselView.dataSource =self;
//切换item图片的类型这个是自定义类型
self.iCarouselView.type =iCarouselTypeCustom;
//第几张图片显示在当前位置
[self.iCarouselViewscrollToItemAtIndex:4animated:NO];
self.iCarouselView.clipsToBounds =YES;
//一开始中心图偏移量
//self.iCarouselView.contentOffset = CGSizeMake(0, 0);
//类似contentoffset
//self.iCarouselView.viewpointOffset = CGSizeMake(0, 0);
//控制滑动切换图片减速的快慢 默认0.95
//self.iCarouselView.decelerationRate = 0.95;
}
#pragma mark--delegate--datasource--
//切换的图片张数--必须实现
-(NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel {
return 7;
}
//返回要切换的图片--必须实现
-(UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index {
UIView *view = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:[NSStringstringWithFormat:@"%ld.png",index+1]]];
//展示切换图片的大小
view.frame = CGRectMake(0,0, 200,200);
[view.layer setCornerRadius:view.frame.size.height/2];
view.layer.masksToBounds =YES;
return view;
}
//当前屏幕显示几张item图片
-(NSUInteger) numberOfVisibleItemsInCarousel:(iCarousel *)carousel {
return 5;
//这个当前界面显示图片数会影响contentfttset ==当前显示数 - 1
//例如本test偏移量为 4 3 2 1 0 -1 -2 -3 -4
}
//item图片之间的间隔宽
-(CGFloat)carouselItemWidth:(iCarousel *)carousel {
return 200;
}
//返回自定义滚动类型
- (CATransform3D)carousel:(iCarousel *)_carousel transformForItemView:(UIView *)view withOffset:(CGFloat)offset
{
CATransform3D transform =CATransform3DIdentity;
// NSLog(@">>>>>>>>>>>>>>%f",offset);
static CGFloat max_sacle =1.0f;
static CGFloat min_scale =0.6f;
if (offset <= 1 && offset >= -1) {
float tempScale = offset <0 ? 1+offset :1-offset;
float slope = (max_sacle - min_scale) /1;
CGFloat scale = min_scale + slope * tempScale;
transform = CATransform3DScale(transform, scale, scale,1);
}else{
transform = CATransform3DScale(transform, min_scale, min_scale,1);
}
return CATransform3DTranslate(transform, offset * _carousel.itemWidth *1.5, 0.0,0.0);
}
- (void)carouselDidScroll:(iCarousel *)carousel{
NSLog(@"滚动中");
//当前图片alpha为1其他的图片为0.4
for (UIView *vvvin carousel.visibleItemViews) {
vvv.alpha = 0.4;
}
UIView *vv = [carouselcurrentItemView];
vv.alpha = 1;
}
- (void)carouselDidEndScrollingAnimation:(iCarousel *)carousel{
NSLog(@"结束滚动");
}
- (void)carousel:(iCarousel *)carousel didSelectItemAtIndex:(NSInteger)index{
NSLog(@"点击item执行方法");
}
- icarousel旋转木马的详解--当前itemscale和alpha
- 使用iCarousel的旋转木马效果请求图片
- iOS 旋转木马切换视图 iCarousel
- iCarousel 旋转木马修改要展示的个数 隐藏多余的
- iCarousel详解
- iCarousel详解
- 旋转木马
- iCarousel
- iCarousel
- 旋转木马----图片跑起来的效果
- 简单的旋转木马轮播
- 无尽旋转木马
- 旋转木马第三方
- 旋转木马插件代码
- tx5-旋转木马轮播图
- 旋转木马-轮播
- 旋转木马轮播图
- 木马旋转轮播图
- Thread-概念和实例
- 十篇安卓文章,都挺不错的
- Leafletjs学习教程和相关代码整理
- PHP.ini部分配置说明
- python *args **kwargs用法
- icarousel旋转木马的详解--当前itemscale和alpha
- 支持向量机SVM算法原理笔记2
- Spring 框架简介
- 从Dinnr失败看产品市场可行性认知有哪些不足
- java编程中Properties类的具体作用和使用
- HDU-2026 首字母变大写
- 正确遍历删除List中的元素
- Linux 技巧:让进程在后台可靠运行的几种方法
- java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)