使用iCarousel的旋转木马效果请求图片

https://github.com/nicklockwood/iCarousel

先看看效果:

源码如下:

//
//  RootViewController.m
//
//  Created by YouXianMing on 14-5-16.
//  Copyright (c) 2014年 Y.X. All rights reserved.
//

#import "RootViewController.h"
#import "iCarousel.h"
#import "YXJSON.h"
#import "YXGCD.h"
#import "SDWebImage.h"// 数据源
#define SOURCE_DATA @"http://www.duitang.com/album/1733789/masn/p/0/50/"@interface RootViewController ()<iCarouselDataSource, iCarouselDelegate>@property (nonatomic, strong) iCarousel      *carousel;   // iCarousel
@property (nonatomic, strong) NSMutableArray *dataArray;  // 数据源@end@implementation RootViewController- (void)viewDidLoad
{[super viewDidLoad];// 初始化数据源_dataArray = [[NSMutableArray alloc] init];// 初始化iCarouselself.carousel = [[iCarousel alloc] initWithFrame:self.view.bounds];[self.view addSubview:_carousel];_carousel.backgroundColor = [UIColor blackColor];_carousel.type = iCarouselTypeWheel;// 设置代理self.carousel.delegate   = self;self.carousel.dataSource = self;// 异步加载数据[[GCDQueue globalQueue] execute:^{// 获取json数据NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:SOURCE_DATA]];// 转换为字典NSDictionary *dataDic = [YXJSON dictionaryOrArrayWithJSONSData:data];if (dataDic){NSArray *dataArray = dataDic[@"data"][@"blogs"];for (NSDictionary *dic in dataArray){NSLog(@"%@", dic[@"isrc"]);// 存储数据[_dataArray addObject:dic[@"isrc"]];}}// 主线程更新[[GCDQueue mainQueue] execute:^{// 重新加载carousel
            [_carousel reloadData];}];}];
}#pragma mark -
#pragma mark iCarousel methods
- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{// 元素个数return [_dataArray count];
}- (UIView *)carousel:(iCarousel *)carouselviewForItemAtIndex:(NSUInteger)index      // view的标志reusingView:(UIView *)view         // 重用的view
{if (view == nil){view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300.0f, 400.0f)];}// 强行转换指针UIImageView *pointView = (UIImageView *)view;// 使用SDWebImage异步下载图片
    [pointView setImageWithURL:[NSURL URLWithString:_dataArray[index]]];// 图片自动适应pointView.contentMode = UIViewContentModeScaleAspectFit;return view;
}- (CGFloat)carousel:(iCarousel *)carouselvalueForOption:(iCarouselOption)optionwithDefault:(CGFloat)value
{if (option == iCarouselOptionSpacing){return value * 1.1f;}return value;
}@end

RootViewController.m

以下几个地方使用了本人自己封装的类,不开源,看官请自行替换相关方法-_-!

核心的地方如下:

so easy :)

问:如何实现view的点击事件?

实现协议方法 - (void)carousel:(iCarousel *)carousel didSelectItemAtIndex:(NSInteger)index; 即可

问:如何获取偏移量?

实现协议,然后如下使用

- (void)carouselDidScroll:(iCarousel *)carousel
{
    NSLog(@"scrollOffset %f", carousel.scrollOffset);
}

转载于:https://www.cnblogs.com/YouXianMing/p/3732577.html

使用iCarousel的旋转木马效果请求图片相关推荐

  1. 用jQuery实现旋转木马效果(带前后按钮和索引按钮)

    项目中要用到旋转木马效果,一共5张图片轮播,并且点击对应的索引按钮能切换到对应的图片.本效果实在jquery.carousel.js插件的基础上做了一些改进,以实现上述需求. 效果图如下: 代码: H ...

  2. html3d旋转效果相册,HTML5css3:3D旋转木马效果相册

    这篇博客的目的是因为上篇HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果中有个关于CSS 3D效果的比较重要的知识点没讲到,就是perspective和tranlateY 效果 ...

  3. html5 相册翻转效果,HTML5 css3:3D旋转木马效果相册

    这篇博客的目的是因为上篇HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果中有个关于CSS 3D效果的比较重要的知识点没讲到,就是perspective和tranlateY 效果 ...

  4. HTML5 CSS3 专题 诱人的实例 3D旋转木马效果相册

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/32964301 首先说明一下创意的出处:http://www.zhangxinxu ...

  5. HTML5 CSS3 专题 :诱人的实例 3D旋转木马效果相冊

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/32964301 首先说明一下创意的出处:http://www.zhangxinxu ...

  6. Android---RecyclerView网络请求图片加载

    RecyclerView的基本使用 什么是RecyclerView recycleview是support-v7包中的新组件,是一个强大的滑动组件,从它的名字recyclerview可以看出它具有回收 ...

  7. css3旋转木马轮播图,超酷jQuery 3D旋转木马效果轮播图插件

    jCarrousel是一款炫酷且强大的3D旋转木马效果轮播图jQuery插件.该旋转木马插件可以自适应屏幕大小来调整图片的间距,可实现自动播放等.jCarrousel代码简洁,使用简单,值得推荐. 由 ...

  8. html旋转木马切换效果,超酷jQuery 3D旋转木马效果轮播图插件 -HTML5功能

    简要教程 jCarrousel是一款炫酷且强大的3D旋转木马效果轮播图jQuery插件.该旋转木马插件可以自适应屏幕大小来调整图片的间距,可实现自动播放等.jCarrousel代码简洁,使用简单,值得 ...

  9. GIF图片合集(用于网络请求图片用)

    GIF图片合集(用于网络请求图片用)

最新文章

  1. MySQL主从复制原理图
  2. mysql中00933错误_java.sql.SQLException: ORA-00933: SQL 命令未正确结束错误解决
  3. 听说苹果M1能打英伟达RTX?那跑个光追试试
  4. Oracle性能调整的误区
  5. web程序设计(2)....开发流程?
  6. Ext.grid.GridPanel数据转json
  7. C++ 类的成员函数指针 ( function/bind )
  8. 网络TCp数据的传输设计(黏包处理)
  9. DHCP服务器控制企业成本
  10. π-Algorithmist分类题目(1)
  11. python 文本处理操作
  12. 微信平台h5开发问题总结
  13. C++多线程1——pthread
  14. DM6437 OSD调试记录
  15. 新颖的自我介绍_三句有创意的自我介绍 简短有创意的自我介绍
  16. 2018年终总结,忙碌充实的一年
  17. Pytorch统计模型参数量和计算量
  18. ajax心得体会论文,AJAX重点知识的心得体会
  19. python伪造邮件发件地址_Python3学习系列(四):编写属于自己的邮件伪造工具...
  20. [SAS - TEMPLATE] ODS输出格式的定义一些小总结

热门文章

  1. 第一节 Image Processing Toolbox功能介绍
  2. 15.1 集合的迭代器
  3. OO设计原则总结[转载]
  4. Functional Language
  5. 5.7.4.framebuffer应用编程实践3
  6. 从智能合约到智能资产
  7. 在SAE搭建Python+Django+MySQL(基于Windows)
  8. jQuery EasyUI API 中文文档 - Documentation 文档
  9. TClientDataSet[28]: 读写其他格式的 XML 文件
  10. C#3.0官方编码规范