ios开发之 -- 自动轮播图创建

Posted 稻草人11223

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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];
    
}

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

以上是关于ios开发之 -- 自动轮播图创建的主要内容,如果未能解决你的问题,请参考以下文章

jquery简单自动轮播图代码怎么写

jquery自动轮播图代码只能出现一张图片第二三张就空白了 轮播正常播放

利用Jquery代码实现动画加载条和自动轮播图效果

iOS 开发之使用 ScrollView 实现自定义滚动距离(半屏分页滑动)

jquery图片上下轮播的问题,怎么实现自动轮播?

自动轮播图