2011-03-07 78 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