UIScrollView引导页

1.定义属性

    UIScrollView*scroll;      // 滚动视图

    NSArray*imgArr;            // 图片数组

    UIPageControl*page;        // 分页控件

    NSTimer*timer;            // 定时器

    NSInteger k;

    inti;

2.签署滚动视图协议:UIScrollViewDelegate

3.滚动视图一系列属性:

// 创建滚动视图

    scroll = [[UIScrollView alloc]initWithFrame:self.view.frame];

    // 设置代理

    scroll.delegate=self;

    // 将滚动视图添加到视图上

    [self.view addSubview:scroll];

4.添加图片

    // 创建图片数组

    imgArr = @[@"图片1",@"图片2",@"图片3",@"图片4"];

    // 使用 for 循环设置图片

    for(i=0;i<4;i++)

    {

        // 创建图片框

        UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.view.frame.size.width * i, 0, self.view.frame.size.width, self.view.frame.size.height)];

        // 设置图片

        imgView.image= [UIImageimageNamed:imgArr[i]];

        // 允许与用户交互

        imgView.userInteractionEnabled = YES;

        //  判断最后一张的时候显示立即体验按钮

        if(i==3)

        {

            // 创建立即体验按钮

            UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

            btn.frame=CGRectMake((self.view.frame.size.width-100) /2,600,100,44);

            [btnsetTitle:@"立即体验"forState:UIControlStateNormal];

            // 设置圆角

            btn.layer.cornerRadius=8;

            btn.layer.masksToBounds=YES;

            // 设置边框

            btn.layer.borderWidth=1;

            btn.layer.borderColor = [UIColor cyanColor].CGColor;

            // 给按钮添加点击事件

            [btnaddTarget:self action:@selector(btn) forControlEvents:UIControlEventTouchUpInside];

            // 将按钮添加到图片上

            [imgViewaddSubview:btn];

        }

        // 将图片框添加到滚动视图上

        [scrolladdSubview:imgView];

    }

5。分页控制器

    page = [[UIPageControl alloc]initWithFrame:CGRectMake((self.view.frame.size.width - 100) / 2, 640, 100, 30)];

    // 设置页数

    page.numberOfPages = 4;

    // 设置页码颜色

    page.pageIndicatorTintColor = [UIColor blackColor];

    // 设置当前页码的颜色

    page.currentPageIndicatorTintColor = [UIColor redColor];

    // 添加到视图上

    [self.view addSubview:page];

6.为滚动视图添加定时器

    timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(bianhuan) userInfo:nil repeats:YES];

(6.1)定时器方法

    -(void)bianhuan{

    page.currentPage = k;

    k++;

    [scroll setContentOffset:CGPointMake(k * scroll.frame.size.width, 0) animated:YES];

    if(k>=3){

        [timerinvalidate];

    }

}

7.将分页控制器与滚动视图关联

    - (void)scrollViewDidScroll:(UIScrollView*)scrollView

{

    // 将滚动的页数和滚动视图关联

    page.currentPage = scroll.contentOffset.x / self.view.frame.size.width;

}

你可能感兴趣的:(UIScrollView引导页)