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(0, 20, WIDTH, HEIGHT)];
    _bigScrollView.showsHorizontalScrollIndicator = NO;
    _bigScrollView.contentSize = CGSizeMake(WIDTH *6, 0);
    _bigScrollView.pagingEnabled = YES;
    _bigScrollView.bounces = NO;
    _bigScrollView.delegate = self;
    [self.view addSubview:_bigScrollView];

    //图片内容的添加
    for ( int i = 0; i<6; i++) {
        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(i *WIDTH, 0, WIDTH, HEIGHT)];
        imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];
        [_bigScrollView addSubview:imageView];
    }

    //pagecontrol的创建
    _pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 0, WIDTH, 40)] ;
    _pageControl.center = CGPointMake(_bigScrollView.center.x, _bigScrollView.center.y);
    _pageControl.numberOfPages = 6;
    _pageControl.currentPage = 0;
    _pageControl.pageIndicatorTintColor = [UIColor blueColor];
    _pageControl.currentPageIndicatorTintColor =[UIColor redColor];
    [self.view addSubview:_pageControl];
    [_pageControl addTarget:self action:@selector(pageControllerClick) forControlEvents:UIControlEventValueChanged];

    //定时器的创建
    _timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];

3,响应方法的实现

-(void)pageControllerClick
{
    [_bigScrollView setContentOffset:CGPointMake(_pageControl.currentPage*320, 0) 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:2];//延迟方法

}

//启动定时器
-(void)disPast
{
    [_timer setFireDate:[NSDate distantPast]];
}

static int count=1;

//定时器的具体响应方法
-(void)onTimer
{
    _pageControl.currentPage+=count;
    if (_pageControl.currentPage==_pageControl.numberOfPages-1||_pageControl.currentPage==0)
    {
        count=-count;
    };
    [_bigScrollView setContentOffset:CGPointMake(_pageControl.currentPage*WIDTH, 0) animated:YES];

}

效果图就不加了,这里仅做记录用!

时间: 2024-12-18 09:59:32

ios开发之 -- 自动轮播图创建的相关文章

swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)

比较简单,原理就不说了,这里只做记录: 代码如下: 1,准备 var pageControl:UIPageControl? var myscrollView:UIScrollView? var myTimer:Timer? var mycurrentPage:NSInteger? var courses = [ ["name":"first","pic":"1.jpeg"], ["name":"s

第31天:动态生成节点-京东轮播图创建

一.获取节点属性getAttribute()通过这个方法可以得到某些元素的某些属性alert(demo.getAttribute("class")); 二.设置节点属性setAttribute("属性","值");div.setAttribute("class","demo"); 三.删除节点属性removeAttribute("属性");demo.removeAttribute(&qu

iOS开发中单例对象的标准创建方法

//标准的单例写法 //以创建歌曲的管理者为例进行创建.+(instancetype) sharedQYSongManager { static QYSongsManager *songManager =nil; //采用GDC标准单例实现方法 static dispatch_once_t onceToken; //Executes a block object once and only once for the lifetime of an application. dispatch_onc

自动轮播图

自动轮播图已经完成,为方便大家阅览源码如下为方便大家使用,有什么不懂大家可以给我留言 <style type="text/css"> * { margin: 0; padding: 0; text-decoration: none; list-style-type: none; } /*切换按钮*/ .arrow{ width: 50px; height: 50px; color: #000; font-size: 30px; border-radius:25px ; ba

原生js手动轮播图

手动轮播图,为轮播图中的一种,轮播图主要有无缝轮播,手动轮播,延迟轮播,切换轮播等等... 轮播图主要用于展现图片,新出商品,词条,又能美观网页.給网页中增加动态效果. 手动轮播,是小编认为最简单的一种轮播方式,既能左右翻页,还能通过悬浮按钮,快速预览图片,所以今天就给大家写一个原生js手动轮播图. 一,利用JavaScript制作手动轮播图,首先排版. 引入默认样式表(可以手写): <link rel="stylesheet" href="css/Default st

iOS开发之保存照片到自己创建的相簿

iOS开发之保存照片到系统相册(Photo Album), 保存照片还可以用ALAssetsLibrary,ALAssetsLibrary提供了我们对iOS设备中的相片.视频的访问,是连接应用程序和相册之间访问的一个桥梁. 接下来,我们来详细讲解一下关于系统相册权限获取.保存照片.创建自己的相簿等等功能. 创建自己的相簿 这也是一种比较创建的作法,创建自己的相簿,然后把照片或者视频保存到自己的相簿中.相关代码如下: ALAssetsLibrary *library = [[ALAssetsLib

iOS开发&gt;学无止境 - 保存照片到自己创建的相簿

在刚刚在线上一篇文章iOS开发之保存照片到系统相册(Photo Album),我们讲到了如何保持照片系统相册.还有其他保存的方法吗? 保存照片还可以用ALAssetsLibrary,ALAssetsLibrary提供了我们对iOS设备中的相片.视频的访问,是连接应用程序和相册之间访问的一个桥梁. 接下来,我们来详细讲解一下关于系统相册权限获取.保存照片.创建自己的相簿等等功能. 创建自己的相簿 这也是一种比较创建的作法,创建自己的相簿,然后把照片或者视频保存到自己的相簿中.相关代码如下: ALA

蓝懿IOS学习UICollectionView实战轮播图

今天刘国斌老师讲了关于JSON数据源的获取与利用,通过微博的实战项目进行练习,获取的数据都是网络上请求的真实数据,这种方式学起来很轻松,很容易理解. 刘国斌老师把今天做的练习题UICollectionView轮播图实现功能的方法步骤都下了下来,我们学起来很方便.   实现轮播图 效果的步骤: 1.创建layout (UICollectionViewFlowLayout) 2.设置layout的方向 默认上下 3.创建UICollectionView 4.设置delegate dataSource

UIScrollView自动轮播图

添加定时器,自动播放图片列表 #import "JZScrollViewController.h" @interface JZScrollViewController () <UIScrollViewDelegate> @property (nonatomic, strong) UIScrollView * scrollView;@property (nonatomic, strong) UIPageControl * pageControl;@property (nona