本文转自 http://www.999dh.net/article/iphone_ios_art/45.html 转载请注明,谢谢!
#import <UIKit/UIKit.h>
@interface CRViewController : UIViewController
{
UIScrollView * scrollView;
UIPageControl * pageControl;
}
@property(nonatomic,retain) UIScrollView * scrollView;
@property(nonatomic,retain) UIPageControl * pageControl;
@end
//
// CRViewController.m
// pageControl
//
// Created by chaoxiao zhuang on 12-12-22.
// Copyright (c) 2012年 taizhouxueyuan. All rights reserved.
//
#import "CRViewController.h"
@implementation CRViewController
@synthesize scrollView;
@synthesize pageControl;
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
-(void)pageChanged:(UIPageControl*)page
{
int p = page.currentPage;
[scrollView scrollRectToVisible:CGRectMake(320*p, 0, 320, 480) animated:YES];
}
-(void)scrollViewDidScroll:(UIScrollView*)scrollView
{
CGFloat pageWith = scrollView.frame.size.width;
int page = floor((scrollView.contentOffset.x - pageWith/2)/pageWith)+1;
self.pageControl.currentPage = page;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
scrollView.delegate = self;
[scrollView setContentSize:CGSizeMake(320*4, 480)];
//scrollView.showsHorizontalScrollIndicator = YES;
scrollView.showsVerticalScrollIndicator = YES;
scrollView.pagingEnabled = YES;
[scrollView setBackgroundColor:[UIColor redColor]];
UIView * view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
[view1 setBackgroundColor:[UIColor grayColor]];
[scrollView addSubview:view1];
UIView * view2 = [[UIView alloc]initWithFrame:CGRectMake(320, 0, 320, 480)];
[view2 setBackgroundColor:[UIColor blueColor]];
[scrollView addSubview:view2];
UIView * view3 = [[UIView alloc]initWithFrame:CGRectMake(320*2, 0, 320, 480)];
[view3 setBackgroundColor:[UIColor greenColor]];
[scrollView addSubview:view3];
UIView * view4 = [[UIView alloc]initWithFrame:CGRectMake(320*3, 0, 320, 480)];
[view4 setBackgroundColor:[UIColor yellowColor]];
[scrollView addSubview:view4];
[self.view addSubview:scrollView];
pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 0, 200, 20)];
pageControl.center = CGPointMake(160, 40);
pageControl.numberOfPages = 4;
[pageControl addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pageControl];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}