UIScrollView+UIpageControl实现图片的循环滚动切换

来源:互联网 发布:淘宝能卖烟吗 编辑:程序博客网 时间:2024/05/18 02:18

//

//  ViewController.m

//  ScrollView

//

//  Created by  on 15/6/1.

//  Copyright (c) 2015. All rights reserved.

//

#define kWidth [UIScreen mainScreen].bounds.size.width

#define kHeight ([UIScreen mainScreen].bounds.size.width)/2


#import "ViewController.h"


@interface ViewController ()<UIScrollViewDelegate>

{

    UIPageControl *page;

}

@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    [self_loadScroll];

}


- (void)_loadScroll{

   UIScrollView * scroll=[[UIScrollViewalloc]initWithFrame:CGRectMake(0,0, kWidth, kHeight)];

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

       UIImageView * imageView=[[UIImageViewalloc]initWithFrame:CGRectMake(kWidth*(i+1),0, kWidth, kHeight)];

        imageView.image=[UIImageimageNamed:[NSStringstringWithFormat:@"%d.jpg",i+1]];

        [scrolladdSubview:imageView];

    }

    //把最后一张放在第一个位置

   UIImageView * imageView1=[[UIImageViewalloc]initWithFrame:CGRectMake(0,0, kWidth, kHeight)];

    imageView1.image=[UIImageimageNamed:[NSStringstringWithFormat:@"4.jpg"]];

    [scrolladdSubview:imageView1];

    //把第一张放在最后一个位置

   UIImageView * imageView2=[[UIImageViewalloc]initWithFrame:CGRectMake(kWidth*5,0, kWidth, kHeight)];

    imageView2.image=[UIImageimageNamed:[NSStringstringWithFormat:@"1.jpg"]];

    [scrolladdSubview:imageView2];

    

    scroll.contentSize=CGSizeMake(kWidth*6,0);

    scroll.showsHorizontalScrollIndicator=NO;

    scroll.pagingEnabled=YES;

    scroll.delegate=self;

    

    //让开始显示页面是第一幅图片

    CGPoint point=scroll.contentOffset;

    point.x=kWidth;

    scroll.contentOffset=point;

    [self.viewaddSubview:scroll];

    

    

    //设置一个页码显示的UIPageController显示当前滚动到第几个视图

    page=[[UIPageControlalloc]initWithFrame:CGRectMake(kWidth/2-100,kHeight*0.85,200, 20)];

    page.pageIndicatorTintColor=[UIColorredColor];

    page.currentPageIndicatorTintColor=[UIColorgreenColor];

    page.numberOfPages=4;

    [self.viewaddSubview:page];

}


- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

   CGPoint point=scrollView.contentOffset;

   if(point.x<=0){

        point.x=kWidth*4;

        scrollView.contentOffset=point;

    }

   if(point.x>=5*kWidth){

        point.x=kWidth;

        scrollView.contentOffset=point;

    }

   NSInteger pages=point.x/(kWidth)-1;

   page.currentPage=pages;

}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


0 0