//
// 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 {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self _loadScroll];
}
- (void)_loadScroll{
UIScrollView * scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, kWidth, kHeight)];
for(int i=0;i<4;i++){
UIImageView * imageView=[[UIImageView alloc]initWithFrame:CGRectMake(kWidth*(i+1), 0, kWidth, kHeight)];
imageView.image=[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i+1]];
[scroll addSubview:imageView];
}
//把最后一张放在第一个位置
UIImageView * imageView1=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, kWidth, kHeight)];
imageView1.image=[UIImage imageNamed:[NSString stringWithFormat:@"4.jpg"]];
[scroll addSubview:imageView1];
//把第一张放在最后一个位置
UIImageView * imageView2=[[UIImageView alloc]initWithFrame:CGRectMake(kWidth*5, 0, kWidth, kHeight)];
imageView2.image=[UIImage imageNamed:[NSString stringWithFormat:@"1.jpg"]];
[scroll addSubview: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.view addSubview:scroll];
//设置一个页码显示的UIPageController显示当前滚动到第几个视图
page=[[UIPageControl alloc]initWithFrame:CGRectMake(kWidth/2-100, kHeight*0.85, 200, 20)];
page.pageIndicatorTintColor=[UIColor redColor];
page.currentPageIndicatorTintColor=[UIColor greenColor];
page.numberOfPages=4;
[self.view addSubview: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 {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end