저는 IB에서 추가 한 3 개의 스크롤 뷰가 있습니다. 그 다음 뷰 뷰의 뷰에 각 하위 뷰에 UIImageView를 추가하는 메서드를 호출합니다. 내가iOS 스크롤 뷰 하위 뷰
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return [scrollView.subviews objectAtIndex:0];
}
를 사용하지만 imageviews가 파단에 추가하기 전에 viewForZoomingInScrollView 호출지고 그래서 각 하위 뷰를 확대하고 싶습니다. 어떻게 이것을 해결할 수 있습니까? 당신이 확대 구성하기 전에 하위 뷰 같은 이미지보기를 추가
-(void) loadImages{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *imageData1 = [defaults dataForKey:@"image1"];
NSData *imageData2 = [defaults dataForKey:@"image2"];
NSData *imageData3 = [defaults dataForKey:@"image3"];
UIImage *img1 = [UIImage imageWithData:imageData1];
UIImage *img2 = [UIImage imageWithData:imageData2];
UIImage *img3 = [UIImage imageWithData:imageData3];
[self loadImage:img1 toScrollView:scrollViewTop];
[self loadImage:img2 toScrollView:scrollViewLeft];
[self loadImage:img3 toScrollView:scrollViewRight];
}
-(void) loadImage:(UIImage *)image toScrollView:(UIScrollView *)scrollView
{
//scale and rotate image to default
UIImage *scaledImage = scaleAndRotateImage(image);
//create imageview and add image to the view
UIImageView *imageView = [[UIImageView alloc]initWithImage:scaledImage];
CGFloat imageWidth = scaledImage.size.width;
CGFloat imageHeight = scaledImage.size.height;
int scrollWidth = scrollView.frame.size.width;
int scrollHeight = scrollView.frame.size.height;
//Limit by width or height, depending on which is smaller in relation to
//the scrollview dimension.
float scaleX = scrollWidth/imageWidth;
float scaleY = scrollHeight/imageHeight;
float scaleScroll = (scaleX < scaleY ? scaleY : scaleX);
// scrollView.bounds = CGRectMake(0, 0,imageWidth , imageHeight);
//scrollView.frame = CGRectMake(0, 0, scrollWidth, scrollHeight);
scrollView.delegate = self;
scrollView.contentSize = imageView.frame.size;
scrollView.pagingEnabled = NO;
scrollView.maximumZoomScale = scaleScroll*3;
scrollView.minimumZoomScale = scaleScroll;
scrollView.zoomScale = scaleScroll;
[scrollView addSubview:imageView];
}
(어떤 방법으로) suview ImageViews를 추가하고 있습니까 – trumpetlicks
'NSLog @ ("% @", [scrollView.subviews objectAtIndex : 0])를 추가하면 – mkral
메서드에 대한 편집을 확인하십시오. 하위 뷰를 추가하면 올바른 데이터가 반환됩니다. 하지만로드되기 전에 viewForZoomingInScrollView 메서드가 호출됩니다. – mkral