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 ...
随机推荐
- 多行文字在一个div中上下左右居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JDK1.6.0+Tomcat6.0的安装配置
JDK1.6.0+Tomcat6.0的安装配置是如何进行的呢?我们按照下面几个步骤来: 1.安装JDK 这是进行JSP开发的重要一步,也是安装JSP引擎(Tomcat.Resin.Weblogic等) ...
- 【C#/WPF】如何查看System.Windows.Interactivity.dll中EventTrigger的EventNames属性有哪些
WPF项目中,从Nuget搜索并下载System.Windows.Interactivity.dll,安装到项目中,并在XAML界面引入. <UserControl xmlns:i=" ...
- 【WPF】C#代码动态添加控件的Margin属性
需求:一组按钮的数据是从服务器中Json数据发过来的,需要根据这个Json数据动态地添加这组按钮. 工具:使用http://www.newtonsoft.com/json来解析Json. 过程:C#代 ...
- PKU OJ 1002 487-3279
PKU OJ 1002 487-3279 487-3279 Description Businesses like to have memorable telephone numbers. One w ...
- tomcat7项目启动报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
报这个错说明用的是tomcat7 打开myeclipse,Preferentces->MyEclipse->Servers->Tomcat->Tomcat 6.x ,载入 ...
- Android中新建的文件在R没有显示相应的文件解决的方法总结
我们有时会发现当我们新建一个文件或者目录在Generated Java Files(gen)文件的R.java中没有生成相应的静态类或者静态属性.此时你可能出现了以下的情况.注意參照解决. 一般正常情 ...
- [Linux小技巧] 一行命令让CPU占用率达到100%
for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/d ...
- 二、Linux 静态IP,动态IP配置
Linux 静态IP,动态IP配置 第一步:激活网卡 系统装好后默认的网卡是eth0,用下面的命令将这块网卡激活. # ifconfig eth0 up 第二步:设置网卡进入系统时启动 想要每次开机就 ...
- Hibernate基本原理(一)
在开始学hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装.一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎 ...