美文网首页
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