2010-08-13 50 views
1

从我昨天问的问题开始。放大寻呼ScrollView

我有一个分页scrollView,只有在y轴的页面。目前,我有它的工作,我有一个UIImageView数组包含不同的UIImages和photoScroller工作正如我所料,但是当我尝试添加imageView作为另一个scrollview的子视图,以允许捏和缩放它打破了画廊。

按中断我的意思是它只加载第一个图像,但剩下的空间为其他图像,而不是捏发生。

 

    - (void)loadView{

// Creates 4 images from the file names UIImage *img0 = [UIImage imageNamed:@"29.png"]; UIImage *img1 = [UIImage imageNamed:@"33.png"]; UIImage *img2 = [UIImage imageNamed:@"IMAG0085.JPG"]; UIImage *img3 = [UIImage imageNamed:@"DSC00081.JPG"]; NSMutableArray *imgArray = [[NSMutableArray alloc] initWithObjects:img0,img1,img2, img3, nil]; //Places images into array CGRect pagingScrollViewFrame = [[UIScreen mainScreen] bounds]; // Creates initial scrollViewFrame to be the size of the screen pagingScrollViewFrame.origin.x -= 10; //moves it 10px to the left pagingScrollViewFrame.size.width += 20; //adds 20px to the right creating a 10px blank buffer either side pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame]; //Creates the pagingScrollView with the size specified with the frame pagingScrollView.pagingEnabled = YES; //allow paging pagingScrollView.backgroundColor = [UIColor blackColor]; //background black pagingScrollView.contentSize = CGSizeMake(pagingScrollViewFrame.size.width * [imgArray count], pagingScrollViewFrame.size.height); //sets the width of the scroll view depending on the number in amges in the array. self.view = pagingScrollView; //add the pagingScrollView to the main view for (int i=0; i < [imgArray count]; i++) { //loop to add the images to an imageView and then add them to the paging ScrollView /*--------Gets the image from the array and places it in an imageView------*/ UIImageView *page = [[UIImageView alloc] initWithImage: [imgArray objectAtIndex:i]]; page.frame = [[UIScreen mainScreen] bounds]; page.contentMode = UIViewContentModeScaleAspectFit; //[page.setClipsToBounds:YES]; CGRect cgRect = [[UIScreen mainScreen] bounds]; CGSize cgSize = cgRect.size; [page setFrame:CGRectMake((i*pagingScrollViewFrame.size.width)+10, 0, cgSize.width, cgSize.height)]; /*--------Creates Zooming scrollView and adds the imageView as a subView------*/ UIScrollView *zoomingScrollView = [[UIScrollView alloc] initWithFrame:cgRect]; zoomingScrollView.delegate = self; zoomingScrollView.maximumZoomScale = 4.0; zoomingScrollView.clipsToBounds = YES; [zoomingScrollView addSubview:page]; [pagingScrollView addSubview:zoomingScrollView]; }} - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ NSArray *array = [scrollView subviews]; return [array lastObject]; }

回答

2
zoomingScrollView.frame = CGRectMake((i*pagingScrollViewFrame.size.width)+10, 0, cgSize.width, cgSize.height)]; 
page.frame = zoomingScrollView.bounds;