2011-03-07 79 views
2

好,所以这是一个奇怪的问题,但我有两个scrollViews,每个都有一个嵌套的imageView,以便允许平移和缩放图像。拖拽scrollView/imageView组合的显示效果非常好,而且由于图像大于我的scrollView大小,所以我可以很好地平移。这是我的viewDidLoad:我有一个scrollView缩放错误图像的问题查看

-(void) viewDidLoad 
{ 
// set the image to be displayed, pic your own image here 

imageView = [[MyImage alloc] initWithImage: [UIImage imageNamed: @"newBackground.png"]]; 

// yes we want to allow user interaction 

[imageView setUserInteractionEnabled:YES]; 

// set the instance of our myScrollView to use the main screen 

scrollView = [[MyScroll alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 

// turn on scrolling 

[scrollView setScrollEnabled: YES]; 

// set the content size to the size of the image 

[scrollView setContentSize: imageView.image.size]; 

// add the instance of our myImageView class to the content view 

[scrollView addSubview: imageView]; 

// flush the item 

[imageView release]; 

// set max zoom to what suits you 

[scrollView setMaximumZoomScale:1.0f]; 

// set min zoom to what suits you 

[scrollView setMinimumZoomScale:0.25f]; 

// set the delegate 

[scrollView setDelegate: self]; 

// scroll a portion of image into view (my image is very big) :) 

//[scrollView scrollRectToVisible:CGRectMake(100, 100, 320, 440) animated:NO]; 

// yes to autoresize 

scrollView.autoresizesSubviews = YES; 

// set the mask 

scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 

// set the view 

//self.view =scrollView; 

[scrollView setFrame:CGRectMake(0, 0, 320, 230)]; 

[self.view addSubview:scrollView]; 


imageView1 = [[MyImage alloc] initWithImage: [UIImage imageNamed: @"newBackground.png"]]; 

// yes we want to allow user interaction 

[imageView1 setUserInteractionEnabled:YES]; 

// set the instance of our myScrollView to use the main screen 

scrollView1 = [[MyScroll alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 

// turn on scrolling 

[scrollView1 setScrollEnabled: YES]; 

// set the content size to the size of the image 

[scrollView1 setContentSize: imageView1.image.size]; 

// add the instance of our myImageView class to the content view 

[scrollView1 addSubview: imageView1]; 

// flush the item 

[imageView1 release]; 

// set max zoom to what suits you 

[scrollView1 setMaximumZoomScale:1.0f]; 

// set min zoom to what suits you 

[scrollView1 setMinimumZoomScale:0.25f]; 

// set the delegate 

[scrollView1 setDelegate: self]; 

// scroll a portion of image into view (my image is very big) :) 

//[scrollView scrollRectToVisible:CGRectMake(100, 100, 320, 440) animated:NO]; 

// yes to autoresize 

scrollView1.autoresizesSubviews = YES; 

// set the mask 

scrollView1.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 

// set the view 

//self.view =scrollView; 

[scrollView1 setFrame:CGRectMake(0,240,320,230)]; 


[self.view addSubview:scrollView1]; 
//[[self view] addSubview:scrollView]; 

}

没有为缩放,我捏来放大对第一滚动视图/ ImageView的对,它精美的作品,没有任何问题。它放大和平移没有问题。但是当我缩小放大我的第二个scrollView时,它平移了SECOND的图像,并放大了FIRST的图像。所以我的第二个scrollView放大了FIRST的图像。咦?我不知道为什么会这样。

我想要的是必须分离可以独立平移和缩放的图像。

有关可能发生什么的任何想法?

谢谢!

回答

1

您的viewForZoomingInScrollView:方法可能会为两个滚动视图返回相同的图像视图。它需要查看正在传入哪个滚动视图并返回相应的图像视图。

+0

就是这样!谢谢!!!! – 2011-03-07 04:46:37