使用iCarousel的旋转木马效果请求图片
使用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的旋转木马效果请求图片相关推荐
- 用jQuery实现旋转木马效果(带前后按钮和索引按钮)
项目中要用到旋转木马效果,一共5张图片轮播,并且点击对应的索引按钮能切换到对应的图片.本效果实在jquery.carousel.js插件的基础上做了一些改进,以实现上述需求. 效果图如下: 代码: H ...
- html3d旋转效果相册,HTML5css3:3D旋转木马效果相册
这篇博客的目的是因为上篇HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果中有个关于CSS 3D效果的比较重要的知识点没讲到,就是perspective和tranlateY 效果 ...
- html5 相册翻转效果,HTML5 css3:3D旋转木马效果相册
这篇博客的目的是因为上篇HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果中有个关于CSS 3D效果的比较重要的知识点没讲到,就是perspective和tranlateY 效果 ...
- HTML5 CSS3 专题 诱人的实例 3D旋转木马效果相册
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/32964301 首先说明一下创意的出处:http://www.zhangxinxu ...
- HTML5 CSS3 专题 :诱人的实例 3D旋转木马效果相冊
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/32964301 首先说明一下创意的出处:http://www.zhangxinxu ...
- Android---RecyclerView网络请求图片加载
RecyclerView的基本使用 什么是RecyclerView recycleview是support-v7包中的新组件,是一个强大的滑动组件,从它的名字recyclerview可以看出它具有回收 ...
- css3旋转木马轮播图,超酷jQuery 3D旋转木马效果轮播图插件
jCarrousel是一款炫酷且强大的3D旋转木马效果轮播图jQuery插件.该旋转木马插件可以自适应屏幕大小来调整图片的间距,可实现自动播放等.jCarrousel代码简洁,使用简单,值得推荐. 由 ...
- html旋转木马切换效果,超酷jQuery 3D旋转木马效果轮播图插件 -HTML5功能
简要教程 jCarrousel是一款炫酷且强大的3D旋转木马效果轮播图jQuery插件.该旋转木马插件可以自适应屏幕大小来调整图片的间距,可实现自动播放等.jCarrousel代码简洁,使用简单,值得 ...
- GIF图片合集(用于网络请求图片用)
GIF图片合集(用于网络请求图片用)
最新文章
- MySQL主从复制原理图
- mysql中00933错误_java.sql.SQLException: ORA-00933: SQL 命令未正确结束错误解决
- 听说苹果M1能打英伟达RTX?那跑个光追试试
- Oracle性能调整的误区
- web程序设计(2)....开发流程?
- Ext.grid.GridPanel数据转json
- C++ 类的成员函数指针 ( function/bind )
- 网络TCp数据的传输设计(黏包处理)
- DHCP服务器控制企业成本
- π-Algorithmist分类题目(1)
- python 文本处理操作
- 微信平台h5开发问题总结
- C++多线程1——pthread
- DM6437 OSD调试记录
- 新颖的自我介绍_三句有创意的自我介绍 简短有创意的自我介绍
- 2018年终总结,忙碌充实的一年
- Pytorch统计模型参数量和计算量
- ajax心得体会论文,AJAX重点知识的心得体会
- python伪造邮件发件地址_Python3学习系列(四):编写属于自己的邮件伪造工具...
- [SAS - TEMPLATE] ODS输出格式的定义一些小总结
热门文章
- 第一节 Image Processing Toolbox功能介绍
- 15.1 集合的迭代器
- OO设计原则总结[转载]
- Functional Language
- 5.7.4.framebuffer应用编程实践3
- 从智能合约到智能资产
- 在SAE搭建Python+Django+MySQL(基于Windows)
- jQuery EasyUI API 中文文档 - Documentation 文档
- TClientDataSet[28]: 读写其他格式的 XML 文件
- C#3.0官方编码规范