ios开发之 -- 自动轮播图创建
这里是oc版本的,简单记录下:
具体代码如下:
1,准备
#define FRAME [[UIScreen mainScreen] bounds]
#define WIDTH FRAME.size.width
#define HEIGHT FRAME.size.height
2,具体实现
//scrollview的添加
_bigScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(, , WIDTH, HEIGHT)];
_bigScrollView.showsHorizontalScrollIndicator = NO;
_bigScrollView.contentSize = CGSizeMake(WIDTH *, );
_bigScrollView.pagingEnabled = YES;
_bigScrollView.bounces = NO;
_bigScrollView.delegate = self;
[self.view addSubview:_bigScrollView]; //图片内容的添加
for ( int i = ; i<; i++) {
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(i *WIDTH, , WIDTH, HEIGHT)];
imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];
[_bigScrollView addSubview:imageView];
} //pagecontrol的创建
_pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(, , WIDTH, )] ;
_pageControl.center = CGPointMake(_bigScrollView.center.x, _bigScrollView.center.y);
_pageControl.numberOfPages = ;
_pageControl.currentPage = ;
_pageControl.pageIndicatorTintColor = [UIColor blueColor];
_pageControl.currentPageIndicatorTintColor =[UIColor redColor];
[self.view addSubview:_pageControl];
[_pageControl addTarget:self action:@selector(pageControllerClick) forControlEvents:UIControlEventValueChanged]; //定时器的创建
_timer = [NSTimer scheduledTimerWithTimeInterval: target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
3,响应方法的实现
-(void)pageControllerClick
{
[_bigScrollView setContentOffset:CGPointMake(_pageControl.currentPage*, ) animated:YES];
} //在scrollview开始手动滑动的时候
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
[_timer setFireDate:[NSDate distantFuture]];
} //在scrollview添加一个延迟方法
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{ _pageControl.currentPage = _bigScrollView.contentOffset.x/WIDTH;
[self performSelector:@selector(disPast) withObject:nil afterDelay:];//延迟方法 } //启动定时器
-(void)disPast
{
[_timer setFireDate:[NSDate distantPast]];
} static int count=; //定时器的具体响应方法
-(void)onTimer
{
_pageControl.currentPage+=count;
if (_pageControl.currentPage==_pageControl.numberOfPages-||_pageControl.currentPage==)
{
count=-count;
};
[_bigScrollView setContentOffset:CGPointMake(_pageControl.currentPage*WIDTH, ) animated:YES]; }
效果图就不加了,这里仅做记录用!
ios开发之 -- 自动轮播图创建的更多相关文章
- swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)
比较简单,原理就不说了,这里只做记录: 代码如下: 1,准备 var pageControl:UIPageControl? var myscrollView:UIScrollView? var myT ...
- 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)
大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...
- iOS开发之保存照片到自己创建的相簿
iOS开发之保存照片到自己创建的相簿 保存照片还可以用ALAssetsLibrary,ALAssetsLibrary提供了我们对iOS设备中的相片.视频的访问,是连接应用程序和相册之间访问的一个桥梁. ...
- 原生js手动轮播图
手动轮播图,为轮播图中的一种,轮播图主要有无缝轮播,手动轮播,延迟轮播,切换轮播等等... 轮播图主要用于展现图片,新出商品,词条,又能美观网页.給网页中增加动态效果. 手动轮播,是小编认为最简单的一 ...
- JS实现自动轮播图效果(js案例)
现在很多网站都有轮播图,这篇文章主要为大家详细介绍了js实现轮播图的完整代码及原理,需要的小伙伴可以参考一下. 1.轮播图主要功能: 1. 图片自动轮播(主图切换同时下面导航图片也会跟着变化) 2. ...
- IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序
前言:本篇博文是本人阅读国外的IOS Programming Tutorial的一篇入门文章的学习过程总结,难度不大,因为是入门.主要是入门UIImagePickerController这个控制器,那 ...
- iOS开发:icon和启动图尺寸
歪果仁的总结: Asset iPhone 6s Plus and iPhone 6 Plus (@3x) iPhone 6s, iPhone 6, and iPhone 5 (@2x) iPhone ...
- iOS开发:icon和启动图尺寸(转)
转至:http://www.cnblogs.com/shaoting/p/4941634.html 歪果仁的总结: Asset iPhone 6s Plus and iPhone 6 Plus (@3 ...
- 用Vue来实现音乐播放器(八):自动轮播图啊
slider.vue组件的模板部分 <template> <div class="slider" ref="slider"> <d ...
随机推荐
- Mock制作假数据
name 为属性名, rule 为规则, value 为值,属性名和生成规则之间用|分隔,生成规则的格式有7种: 字符串 String, 数字 Number, 布尔型 Boolean, 对象 Obje ...
- LeetCode: Letter Combinations of a Phone Number 解题报告
Letter Combinations of a Phone Number Given a digit string, return all possible letter combinations ...
- Python实现二叉树及其4种遍历
Python & BinaryTree 1. BinaryTree (二叉树) 二叉树是有限个元素的集合,该集合或者为空.或者有一个称为根节点(root)的元素及两个互不相交的.分别被称为左子 ...
- webRTC开启摄像头
配置htts之后就可以开启webRTC了. <!DOCTYPE html> <html> <head> <title>OpenCamera</ti ...
- gvim配置到命令行可以使用
下载安装gvim后,把gvim的安装目录添加到环境变量.
- 新闻门户网站图集相册JS代码
新闻网站jQuery图集相册代码,支持键盘方向键切换,支持点击图片左右区域切换,支持自动轮播,带缩略图.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class= ...
- [posix]Posix多线程编程
就不排版了,可以到原作者博客下看 转自:http://www.cnblogs.com/zhangsf/archive/2013/09/09/3309867.html 目录表 摘要 译者序 Pthre ...
- Tomcat (1) —— Mac下配置Tomcat Https/SSL
Tomcat (1) -- Mac下配置Tomcat Https/SSL tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 参考来源: SSL/TLS Config ...
- 20 个 jQuery 和 CSS 的文本特效插件
Jumble Text Effect Plugins Demo || Download Vticker – Vertical News Ticker With JQuery Plugin Demo | ...
- Windoows窗口程序一
编写窗口程序的步骤: .定义WinMain入口函数 .定义窗口处理函数(处理消息)WindowProc .注册窗口类RegisterClass .创建窗口(在内存中创建窗口)CreateWindow ...