• 利用UIScrollView实现一个简单的图片轮播


    简单图片轮播的实现
    分析:
    首先先创建一个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等等)

  • 相关阅读:
    SqlServer2005自动备份
    在Win7下运行使用BDE的程序
    Hibernate连接SqlServer时的小问题
    使用Delphi在SqlServer中对日期的设置
    Flex中连接J2ee的一个小问题
    np使用创建图像 霍夫圆检测 video操作,显示canny边缘
    Web.config的配置
    SQL 进制间如何转换
    jQuery 设置和获取HTML,文本和值
    通过LINQ to XML生成 XML
  • 原文地址:https://www.cnblogs.com/lianpihou/p/UIScrollView.html
Copyright © 2020-2023  润新知