简单图片轮播的实现
分析:
首先先创建一个UIScrollView;
在UIScrollView添加需要轮播的图片
UIScrollView开启分页功能
添加一个定时器,当时间到后就让UIScrollView移动一页,并且一个定时器一直循环开启;
注意:几个小细节
①这个定时器在用户触摸UIScrollView时候,要移除定时器,在手离开UIScrollView的时候再次开启。为什么要这么做勒?因为当用户在滑动的时候,要是你的定时器开在开启状态,则当用户停止滑动,手指离开UIScrollView时,则个页面会连续滑动几次,因为你的定时器在后台一只跑着的。代码如下(注意控制器需要尊周UIScrollView的代理协议,这样子控制器才能监控用户什么时候滑动和停止滑动离开屏幕的)

// 当用户手指离开scrollView的时候,添加一个轮播的定时器
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    [self addLunBoTimer];
}

// 添加一个timer
- (void)addLunBoTimer
{
    self.timer = [NSTimer timerWithTimeInterval:1.5 target:self selector:@selector(addLunBoPage)  userInfo:nil repeats:YES];
    
    [[NSRunLoop mainRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
    
}

// 当手开始滑动时移除定时器
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    [self removeLunBoTimer];
}

// 增加一个页面的对象方法,定时器会每隔一段时间调用一次,实现自动轮播
- (void)addLunBoPage
{
    // 取出当前页面
    int currentPage = self.page.currentPage;
    
    if (currentPage >=4) {
        
        currentPage = 0;
    }
    else
    {
        currentPage ++;
    }
    [UIView animateWithDuration:0.3 animations:^{
     
            self.lunBoScrolView.contentOffset = CGPointMake(self.lunBoScrolView.frame.size.width * currentPage, 0);
    }];

}

要想实现UIScrollView的滑动必须要设置以下三步,才能实现
1>设置本身的frame
2>设置contentSize(可滑动范围)
3>添加需要滑动的View(比如Button imageView等等)

posted on 2014-05-26 23:19  嘻帅  阅读(365)  评论(0编辑  收藏  举报