写的好乱.......
建立一个MainViewController
在MainViewController.h中写
// 签订ScrollView的条约(协议)
@interface MainViewController : UIViewController<UIScrollViewDelegate>
@property (nonatomic, assign) NSInteger count;
@property (nonatomic, retain) UIPageControl *page;
@property (nonatomic, retain) UIScrollView *scr;
@end
在MainViewController.m中写
@implementation MainViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 280, 400)];
[scrollView setContentSize:CGSizeMake(2900, 300)];
[scrollView setPagingEnabled:YES];
[scrollView setShowsHorizontalScrollIndicator:NO];
[scrollView setDelegate:self];
scrollView.tag = 10000;
[self.view addSubview:scrollView];
[scrollView release];
self.count = 0;
for (int i = 0; i < 10; i ++) {
self.count ++;
self.scr = [[UIScrollView alloc] initWithFrame:CGRectMake(280 * i, 0, 280, 400)];
[self.scr setContentSize:CGSizeMake(280, 400)];
[self.scr setPagingEnabled:YES];
[self.scr setShowsHorizontalScrollIndicator:NO];
[self.scr setDelegate:self];
[self.scr setMaximumZoomScale:2];
[self.scr setMinimumZoomScale:1];
self.scr.tag = self.count;
[scrollView addSubview:self.scr];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg", i]]];
[imageView setFrame:CGRectMake(0, 0, 240, 240)];
[self.scr addSubview:imageView];
[imageView release];
}
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(20, 350, 280, 50)];
pageControl.numberOfPages = 10;
pageControl.pageIndicatorTintColor = [UIColor blackColor];
pageControl.currentPageIndicatorTintColor = [UIColor lightGrayColor];
[pageControl addTarget:self action:@selector(pageControlAction:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pageControl];
[pageControl release];
self.page = pageControl;
}
- (void)pageControlAction:(UIPageControl *)pageControl
{
NSLog(@"%d", pageControl.currentPage);
UIScrollView *scc = (UIScrollView *)[self.view viewWithTag:10000];
scc.contentOffset = CGPointMake(pageControl.currentPage * 280, 0);
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
self.page.currentPage = scrollView.contentOffset.x / scrollView.frame.size.width;
}
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return [scrollView.subviews firstObject];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"%d", scrollView.tag);
if (scrollView.tag == 10000) {
for (int i = 1; i < 7; i++) {
UIScrollView *scrView = (UIScrollView *)[scrollView viewWithTag:i];
[scrView setZoomScale:1];
}
}
}
需要导入名字为1~10.jpg的图片