2010-06-03 16 views
0

我在圖像中加載不同尺寸的圖像,並將它們放入UIScrollViews中,所有圖像都大於UIScrollView。 用戶可以隨心所欲地進行滾動和縮放,但最初我希望將圖像 居中並縮放,以便圖像的最大側與scrollView的邊緣對齊,即如果圖片處於橫向,我想來確定它的大小和縮放比例,以便左右邊一直走到UIScrollVIew的邊緣,反之亦然爲UIScrollView生成一個CGRect的公式,顯示UIImage的縮放以適應方式

我在編程指南的實用函數中找到了一個公式,但它不太符合我的需要。

我的方法是使用:

CGrect initialPos = ? 
[self.scrollView zoomToRect:initialPos animated:YES]; 

我知道我的滾動視圖的大小和我的圖像的大小,我需要搞清楚的是規模和的CGRect申請了滾動到中心和調整我的形象。

希望有人能幫忙:)謝謝

回答

1

編輯:以前版本的圖像大小的觀點,而不是周圍的其他方式。我認爲這應該更正:

double imgRatio = imageSize.width/imageSize.height; 
double viewRatio = viewSize.width/viewSize.height; 

if (imgRatio >= viewRatio) 
{ 
    initialPos.size.width = imageSize.width; 
    initialPos.size.height = imageSize.width/viewRatio; 
    initialPos.origin.x = 0; 
    initialPos.origin.y = (imageSize.height - initialPos.size.height)/2; 
} 
else 
{ 
    initialPos.size.height = imageSize.height; 
    initialPos.size.width = imageSize.height * viewRatio; 
    initialPos.origin.y = 0; 
    initialPos.origin.x = (imageSize.width - initialPos.size.width)/2; 
} 
+0

喜的是WalkyTalky和感謝:) 我明白你在做什麼,但是這並考慮到縮放?這將圖像正確放置在滾動視圖中,但不會更改比例,以便圖像可以放入滾動視圖中。 – RickiG 2010-06-03 12:36:58

+0

Doh。對不起,我回答了前面的問題 - 將圖像調整到視圖的大小,而不是視圖對圖像的縮放。將更新。 – walkytalky 2010-06-03 15:37:32

+0

嗨Walkytalky,都被原諒:)它可以在風景和肖像圖像上完美地工作。 給其他路過的人:在我的實例中viewRatio是UIScrollView的寬度/高度。 一旦縮放完成,我使用:[self.scrollView zoomToRect:initialPos animated:YES];將其設置爲正確的比例。 再次感謝。 – RickiG 2010-06-04 10:04:35

相關問題