Friday, 24 July 2015

iOS Multiple Images Paging and Zooming

#define VIEW_FOR_ZOOM_TAG (1)

@implementation SVViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
    mainScrollView.pagingEnabled = YES;
    mainScrollView.showsHorizontalScrollIndicator = NO;
    mainScrollView.showsVerticalScrollIndicator = NO;

    CGRect innerScrollFrame = mainScrollView.bounds;

    for (NSInteger i = 0; i < 3; i++) {
    UIImageView *imageForZooming = [[UIImageView alloc] initWithImage:[UIImage imageNamed:
    [NSString stringWithFormat:@"%d.png", i + 1]]];
    imageForZooming.tag = VIEW_FOR_ZOOM_TAG;

    UIScrollView *pageScrollView = [[UIScrollView alloc] initWithFrame:innerScrollFrame];
    pageScrollView.minimumZoomScale = 1.0f;
    pageScrollView.maximumZoomScale = 2.0f;
    pageScrollView.zoomScale = 1.0f;
    pageScrollView.contentSize = imageForZooming.bounds.size;
    pageScrollView.delegate = self;
    pageScrollView.showsHorizontalScrollIndicator = NO;
    pageScrollView.showsVerticalScrollIndicator = NO;
    [pageScrollView addSubview:imageForZooming];

    [mainScrollView addSubview:pageScrollView];

    if (i < 2) {
        innerScrollFrame.origin.x += innerScrollFrame.size.width;
    }
    }

    mainScrollView.contentSize = CGSizeMake(innerScrollFrame.origin.x +
    innerScrollFrame.size.width, mainScrollView.bounds.size.height);

    [self.view addSubview:mainScrollView];
   }

 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
  return [scrollView viewWithTag:VIEW_FOR_ZOOM_TAG];
}

 - (NSUInteger)supportedInterfaceOrientations {
 return UIInterfaceOrientationMaskPortrait;
}

- (BOOL)shouldAutorotate {
 return NO;
}

@end



(OR)

    arrayOfImages =[[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"1.png"],
                [UIImage imageNamed:@"2.png"],
                [UIImage imageNamed:@"3.png"],

                [UIImage imageNamed:@"4.png"], nil];

    int x = 0;
    int y = 0;
    int z = 0;
    for (j=0; j<arrayOfImages.count;j++){

        imageView = [[UIImageView alloc]init];
        [[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:imageView];
        NSURL *url = [NSURL URLWithString:[arrayOfImages objectAtIndex:j]];
        imageView.imageURL = url;
        [imageView setContentMode:UIViewContentModeScaleAspectFit];
        imageView.clipsToBounds = YES;
        imageView.tag = 1;
       
        UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake( self.imageScrollView.frame.size.width * z++, y,self.imageScrollView.frame.size.width,imageScrollView.frame.size.height)];
        scrollView.delegate = self;
        scrollView.maximumZoomScale = 2.0f;
        imageView.frame = scrollView.bounds;
        [scrollView addSubview:imageView];
        [self.imageScrollView addSubview:scrollView];
        x = x + self.imageScrollView.frame.size.width;
    }
    
    [imageScrollView setContentOffset:CGPointMake((myInteger*self.imageScrollView.frame.size.width), self.imageScrollView.frame.size.height)];
    imageScrollView.contentSize=CGSizeMake(x, y);
    imageScrollView.pagingEnabled=TRUE;
    
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return [scrollView viewWithTag:1];
}




No comments:

Post a Comment