//

//  RootViewController.m

//  UI - DAY- 8

//

//  Created by lanouhn on 15/3/26.

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

//

 

#import "RootViewController.h"

 

@interface RootViewController () <UIScrollViewDelegate>

{

    UIScrollView *scrollView1;

    UIPageControl *pageControl;

    NSInteger index;

    

}

 

@end

 

@implementation RootViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    //创建UIScrollView

    scrollView1 = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];

    scrollView1.contentSize = CGSizeMake(self.view.frame.size.width * 14, self.view.frame.size.height);

    scrollView1.pagingEnabled = YES;

    scrollView1.delegate = self;

    scrollView1.backgroundColor = [UIColor yellowColor];

    [self.view addSubview:scrollView1];

    [scrollView1 release];

    

    //创建UIImageView

    for (NSInteger i = 0; i < 14; i++) {

        NSString *name = [NSString stringWithFormat:@"%ld", i + 1];

        UIScrollView *aScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(i * 375, 0, 375, 667)];

        aScrollView.contentSize = CGSizeMake(375, 667);

        aScrollView.minimumZoomScale = 0.5;

        aScrollView.maximumZoomScale = 2;

        aScrollView.delegate = self;

        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:name]];

        imageView.tag = 100 + i;

        imageView.frame = CGRectMake(0 , 0, self.view.frame.size.width, self.view.frame.size.height);

        [aScrollView addSubview:imageView];

        [scrollView1 addSubview:aScrollView];

        

        

//        [scrollView addSubview:imageView];

        [aScrollView release];

        [imageView release];

        

    }

    

    

    

    //创建UIPageControl

    pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 630, 375, 40)];

    pageControl.numberOfPages = 14;

    pageControl.pageIndicatorTintColor = [UIColor redColor];

    [pageControl addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];

    pageControl.currentPageIndicatorTintColor = [UIColor greenColor];

    [self.view addSubview:pageControl];

    [pageControl release];

    

   

    

    

}

 

 

- (void)change:(UIPageControl *)aPageControl {

    CGPoint point = CGPointMake(375 * [pageControl currentPage], 0);

    [scrollView1 setContentOffset:point animated:YES];

}

 

- (void)pinch:(UIPinchGestureRecognizer *)aPinch {

    NSLog(@"%s", __FUNCTION__);

    

    UIImageView *newImageView = (UIImageView *)[self.view viewWithTag:100 + pageControl.currentPage];

    newImageView.transform = CGAffineTransformScale(newImageView.transform, aPinch.scale, aPinch.scale);

        //重置比率

        aPinch.scale = 1;

}

 

#pragma mark - UIScrollViewDelegate

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

    

    pageControl.currentPage = scrollView1.contentOffset.x / 375;

    if (index != pageControl.currentPage) {

        ((UIScrollView *)[scrollView1.subviews objectAtIndex:index]).zoomScale = 1;

    }

}

 

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {

 

    NSLog(@"%@", scrollView);

    return [scrollView.subviews objectAtIndex:0];

}

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view {

    index = pageControl.currentPage;

}

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

    

    UIImageView * viewImage = [scrollView.subviews objectAtIndex:0];

    CGPoint newCenter = viewImage.center;

    newCenter.x = scrollView.frame.size.width / 2;

    newCenter.y = scrollView.frame.size.height / 2;

    viewImage.center = newCenter;

    NSLog(@"%@", NSStringFromCGPoint(newCenter));

    

}

 

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

 

/*可以

每个图片都放大缩小,并且翻到第二张图时,再翻回来就变成原来的大小.并且使用UIPageControl与UIScrollView结合.

*/

 

@end

 

posted on 2015-03-26 22:19  小雪童鞋  阅读(150)  评论(0编辑  收藏  举报