蓝懿IOS学习UICollectionView实战轮播图

今天刘国斌老师讲了关于JSON数据源的获取与利用,通过微博的实战项目进行练习,获取的数据都是网络上请求的真实数据,这种方式学起来很轻松,很容易理解。

刘国斌老师把今天做的练习题UICollectionView轮播图实现功能的方法步骤都下了下来,我们学起来很方便。
   实现轮播图 效果的步骤:

1.创建layout (UICollectionViewFlowLayout)

2.设置layout的方向 默认上下

3.创建UICollectionView

4.设置delegate dataSource  并遵守协议(3个协议)

5.实现dataSource协议里面必须的两个方法

6.创建自定义的Cell类 在cell的初始化方法中把控件创建好

7.注册Cell

8.添加控制组数的协议方法 在dataSourceDelegate里面的第三个

9.添加控制Cell大小的方法

10.添加 行间距为0

11.让collectionView 上来就滚动到第2500组的第0个

12.添加timer 每隔2秒钟 执行一个jumpPage方法

13.在jumpPage方法中 获取当前显示的Cell的位置

14.在当前位置的基础上 让item+1  得到新位置  并让 collectionView滚动到新位置

15.实现scrollViewDelegate的协议方法 在开始拖动的时候 timer停止

16.在拖动结束的时候timer重新开始
 - (void)viewDidLoad {

[super viewDidLoad];

UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc]init];

layout.scrollDirection=UICollectionViewScrollDirectionHorizontal;

UICollectionView *cv=[[UICollectionView alloc]initWithFrame:CGRectMake(33, 33, 300, 100) collectionViewLayout:layout];

cv.dataSource=self;

cv.delegate=self;

cv.pagingEnabled=YES;

[self.view addSubview:cv];

// 注册

[cv registerClass:[myCollectionViewCell class] forCellWithReuseIdentifier:@"cell"];

//  让collectionview开始时直接移动的位置

[cv scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:500] atScrollPosition:UICollectionViewScrollPositionLeft animated:YES];

时间: 2024-08-03 15:34:12

蓝懿IOS学习UICollectionView实战轮播图的相关文章

#在蓝懿iOS学习的日子#

#在蓝懿iOS学习的日子#昨天我们学习了让uiimaag,学习了如何的插入图片,学习如何让它上下左右移动,其实就是加入按钮buttonon来控制图片的方向,还学习让图片在一定的范围内来回的移动,最后还制作了一个简易的游戏,我们都称之为简易的反射器,在下方设立一个按钮,发射一个图片,打击上方左右移动的image,为胜利,并以打中一次,来进行计分,难点就是两个图片的碰撞,设立的放h是这样的: //设置luobo与tu1障碍物的碰撞 //frame是指图片的矩形,进行碰撞 if (CGRectInte

iOS UICollectionView 实现轮播图

利用UICollectionView 实现轮播图 : 具体代码如下, 简单粗暴, : <span style="font-size:24px;">// // ViewController.m // CollectionPhotosView // // Created by 帝炎魔 on 16/5/30. // Copyright © 2016年 帝炎魔. All rights reserved. // /** * UICollectionView 实现轮播图的实现 将定时器

BootStrap学习(7)_轮播图

一.轮播图 Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式.除此之外,内容也是足够灵活的,可以是图像.内嵌框架.视频或者其他您想要放置的任何类型的内容. 如果您想要单独引用该插件的功能,那么您需要引用BootStrap中的 carousel.js. 示例: 1.使用 Bootstrap 轮播(Carousel)插件显示了一个循环播放元素的通用组件.为了实现轮播,您只需要添加带有该标记的代码即可.不需要使用    data 属性,只需要简单的基于 clas

原生javascript之实战 轮播图

成品效果如下图所示: 因为博客园限制图片上传大小被我删了一些帧数,所以图片看起来会有一点卡,现实运行是不会的 搭建HTML和CSS结构 HTML代码如下: 1 <div class="wrapper"> 2 <ul class="sliderPage"> 3 <li> 4 <img src="images/1.jpg"> 5 </li> 6 <li> 7 <img sr

蓝懿IOS学习图片编辑器

ios的学习在蓝懿另个月了,感觉学到了很多,这里的环境不错学习氛围也很好,刘国斌老师教了图片编辑,模拟美图秀秀,功能实现了边框,效果.滤镜,还有涂鸦. #pragma mark - Image picker controller 协议方法 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info

#蓝懿ios学习的日子#2015年10月12鈤

已经是进入蓝懿基础训练营的第四天,今天是练习日,刘国斌老师让自己练习敲代码,大家都很积极,早早就来到教室开始时敲代码,我呢,就把这几天学习的都每个都创建了一个的项目,开始练习第一天,如何学习ioS是什么,比较与市场的其他编程,和其他系统的区别,了解职业发展的进程,最后,刘国斌老师不但给我们介绍了xcode,还教我们用Xcode做了个iOS的UI界面的一个UI类label的生成,还有生成界面是怎么样的(在后面的 图片会展示我的成果),我们大家没一人还练习了一遍,只要认真的看老师做一遍,会打字,就会

蓝懿IOS学习SQL数据库

当前类中导入头文件 // 1.打开数据库 // 创建数据库文件所在路径字符串 NSString *path = @"/Users/Boris/Public/蓝懿第三期/Day31 - SQLite/test.db"; // 创建数据库指针, 先赋值为空, 稍后他会被赋值. // 以防万一出现野指针, C语言的空是 NULL, ObjC的空是 nil sqlite3 *db = NULL; // 打开数据库, 并且把已经打开的数据库赋值给 db 这个指针. // 第一个参数是数据库文件位

蓝懿IOS学习七大手势Touches

今天学习了ios编程里手势的方法及应用场景,屏幕页面中区分很多控件,有的控件可以有点击事件和用户直接交互,可以执行相应方法,如TextField,Button,UISEgmentControll等,但是静态lableUIImageView等就需要把交互开关打开,添加响应的手势才能实现交互. 刘国斌老师详细的对我们讲了七大手势,包括点击Touches,UIPanGestureRecognizer拖动,UILongPressGestureRecognizer长按手势,UIScreenEdgePanG

蓝懿IOS学习音频播放

// 准备歌曲数据 NSString *path = [[NSBundle mainBundle] pathForResource:@"Alan Walker - Fade.mp3" ofType:nil]; NSData *musicData = [NSData dataWithContentsOfFile:path]; // 初始化音频播放器(依据 NSData 初始化) NSError *errorMsg = nil; self.player = [[AVAudioPlayer