2012-08-04 30 views
1

我試圖讓我的代碼以編程方式放大到較大圖片的一個小區域。我稍後會添加tap代碼,但現在我只想看看它的工作原理。使用UIScrollView以編程方式放大到較大的圖片的小區域

這段代碼中的zoomToRect完全沒有,我簡直不明白爲什麼。當我構建它時,圖像就位於0,0原點。

我已經嘗試使用:

setContentOffset和scrollRectToVisible和這兩個做工精細-the圖像移動到指定的座標。但這些都不是我想要的,因爲我需要移動和縮放圖像,而不是移動它。

但zoomToRect完全拒絕做任何事情。我已經閱讀了大約50頁的示例和教程,而不是一個該死的東西。我不知道爲什麼,我正在撕裂我的頭髮。很明顯,我錯過了一些非常重要的基本點。

UIImage *myFirstImage = [UIImage imageNamed:@"manga_page.jpg"]; 

UIImageView *myFirstImageView = [[UIImageView alloc] initWithImage:myFirstImage]; 

[myFirstImageView setFrame:CGRectMake(0, 0, myFirstImage.size.width, myFirstImage.size.height)]; 


UIScrollView *myFirstScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

[myFirstScrollView setContentSize:CGSizeMake(myFirstImage.size.width, myFirstImage.size.height)]; 

[myFirstScrollView addSubview:myFirstImageView]; 

[self.view addSubview:myFirstScrollView]; 

[myFirstScrollView zoomToRect:CGRectMake(300, 300, 300, 300) animated:YES]; 
+0

我遇到同樣的問題。你有沒有找到答案? – 2013-10-14 04:15:26

+0

我做過了,儘管它可能對您沒有多大用處。我最終轉向了Xamarin框架(xamarin.com)。 – Nande 2013-10-14 08:44:43

+1

對不起 - 被「無法重新編輯評論5分鐘後的事情」 - 我認爲從內存來看,這個問題與我沒有定義縮放代理的事實有關 - 請參閱viewForZoomingInScrollView(頁面底部)這裏:https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intfm/UIScrollViewDelegate/viewForZoomingInScrollView: – Nande 2013-10-14 08:50:47

回答

2

的問題是,我沒有定義的委託變焦 - 看viewForZoomingInScrollView(頁面底部)位置:

https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intfm/UIScrollViewDelegate/viewForZoomingInScrollView

我沒有一個代碼片段在Objective C中,我切換到Xamarin框架。但是,C#解決方案如下:

scrollView.ViewForZoomingInScrollView = delegate (UIScrollView sv) { return imageView; }; 

其中imageView是包含要滾動的圖像的UIImageView。

0

設置UIScrollView的maximumZoomScale和minimumZoomScale屬性。

+0

不幸的是,在此處發佈此問題之前,我嘗試過設置最大和最小ZoomScale。似乎沒有任何區別。 – Nande 2012-08-04 12:19:55

相關問題