美文网首页
UIScrollView 实现广告循环播放

UIScrollView 实现广告循环播放

作者: 善良的皮蛋 | 来源:发表于2020-07-26 10:59 被阅读0次
    #import "RootViewController.h"
    
    @interface RootViewController ()<UIScrollViewDelegate>
    {
        UIScrollView *_scrollView;
        UIPageControl *_pageCtl;//页码
    }
    
    @end
    
    @implementation RootViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 200)];
        //设置滚动区域
        _scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 4, 200);
        //分页滚动
        _scrollView.pagingEnabled = YES;
        _scrollView.delegate = self;
        [self.view addSubview:_scrollView];
        
        for (NSInteger i = 0; i < 4; i++) {
            //广告图片
            UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(i * self.view.frame.size.width, 0, _scrollView.frame.size.width, _scrollView.frame.size.height)];
            imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%ld.jpg",i + 1]];
            [_scrollView addSubview:imageView];
            
        }
        
        //分页控件
        _pageCtl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 200, self.view.frame.size.width, 20)];
        _pageCtl.backgroundColor = [UIColor lightGrayColor];
        //设置总页数
        _pageCtl.numberOfPages = 4;
        [_pageCtl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
        [self.view addSubview:_pageCtl];
        //设置当前页码颜色
        _pageCtl.currentPageIndicatorTintColor = [UIColor greenColor];
        //其他页码颜色
        _pageCtl.pageIndicatorTintColor = [UIColor redColor];
        _pageCtl.alpha = 0.8;
        
    }
    
    -(void)pageAction:(UIPageControl *)pageCtl{
        
        //同步UIScrollView
        NSLog(@"%ld",pageCtl.currentPage);
        //设置偏移量(带动画)
        [_scrollView setContentOffset: CGPointMake(self.view.frame.size.width * pageCtl.currentPage, 0) animated:YES];
        
    }
    
    #pragma mark- UIScrollViewDelegate
    //停止减速
    -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
        
        //设置页码
        _pageCtl.currentPage = scrollView.contentOffset.x/self.view.frame.size.width;
        
        
    }
    
    

    主要属性设置

    //初始化ScrollView,设定位置  
        self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];  
        self.scrollView.backgroundColor = [UIColor greenColor];  
        //设置显示内容的大小,这里表示可以下滑十倍原高度  
        self.scrollView.contentSize = CGSizeMake(320, 460*10);  
        //设置当滚动到边缘继续滚时是否像橡皮经一样弹回  
        self.scrollView.bounces = YES;  
        //设置滚动条指示器的类型,默认是白边界上的黑色滚动条  
        self.scrollView.indicatorStyle = UIScrollViewIndicatorStyleDefault;//还有UIScrollViewIndicatorStyleBlack、UIScrollViewIndicatorStyleWhite  
        //设置是否只允许横向或纵向(YES)滚动,默认允许双向  
    //    self.scrollView.directionalLockEnabled = YES;  
        //设置是否采用分页的方式  
    //    self.scrollView.pagingEnabled = YES;  
        //设置是否允许滚动  
    //    self.scrollView.scrollEnabled = NO;  
        //设置是否可以缩放  
        self.scrollView.maximumZoomScale = 2.0;//最多放大到两倍  
        self.scrollView.minimumZoomScale = 0.5;//最多缩小到0.5倍  
        //设置是否允许缩放超出倍数限制,超出后弹回  
        self.scrollView.bouncesZoom = YES;  
        //设置委托  
        self.scrollView.delegate = self;  
          
        [self.view addSubview:self.scrollView];  
          
    

    相关文章

      网友评论

          本文标题:UIScrollView 实现广告循环播放

          本文链接:https://www.haomeiwen.com/subject/gsrwlktx.html