1 #import "ViewController.h"
2
3 #define Width self.view.frame.size.width
4 #define Height self.view.frame.size.height
5 #define viewH 200
6 @interface ViewController ()<UIScrollViewDelegate>
7
8
9 @property(nonatomic,retain) UIScrollView * scrollView;
10 @property(nonatomic,retain) UIPageControl * pageControl;
11
12 @end
13
14 @implementation ViewController
15
16
17
18 #pragma mark - View lifecycle
19
20
21 - (void)viewDidLoad
22 {
23
24 [super viewDidLoad];
25 // Do any additional setup after loading the view, typically from a nib.
26
27 self.scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, Height-viewH, Width, viewH)];
28 self.scrollView.delegate = self;
29 [self.scrollView setContentSize:CGSizeMake(Width*4, viewH)];
30 //self.scrollView.showsHorizontalScrollIndicator = YES;
31 self.scrollView.showsVerticalScrollIndicator = YES;
32 self.scrollView.pagingEnabled = YES;
33 [self.scrollView setBackgroundColor:[UIColor redColor]];
34
35 NSArray*arr =[[NSArray alloc]initWithObjects:[UIColor grayColor],[UIColor greenColor],[UIColor blueColor],[UIColor yellowColor], nil];
36 for (int i=0; i<4; i++) {
37 UIView * view1 = [[UIView alloc]initWithFrame:CGRectMake(Width*i, 0, Width, viewH)];
38 [view1 setBackgroundColor:arr[i]];
39 [self.scrollView addSubview:view1];
40
41 }
42 [self.view addSubview:self.scrollView];
43
44
45 self.pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 0, 200, 20)];
46 self.pageControl.center = CGPointMake(Width/2, Height-20);
47
48 self.pageControl.numberOfPages = 4;
49 [self.pageControl addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueChanged];
50
51 [self.view addSubview:self.pageControl];
52 }
53 -(void)pageChanged:(UIPageControl*)page
54 {
55 int p = (int)page.currentPage;
56 [self.scrollView scrollRectToVisible:CGRectMake(Width*p, 0, Width, viewH) animated:YES];
57 }
58
59 -(void)scrollViewDidScroll:(UIScrollView*)scrollView
60 {
61 CGFloat pageWith = scrollView.frame.size.width;
62 int page = floor((scrollView.contentOffset.x - pageWith/2)/pageWith)+1;
63 self.pageControl.currentPage = page;
64 }
65
66
67
68
69
70 - (void)didReceiveMemoryWarning {
71 [super didReceiveMemoryWarning];
72 // Dispose of any resources that can be recreated.
73 }
74
75 @end