2012-05-05 79 views
3

這個問題可能已經得到解答,但經過數小時的搜索後,我找不到解決方案。在UIImageVIew中顯示UIImage的一部分

我有一個UIImageView(320 * 320)在定製UITableCellUIImage內(320 * 320)。 當我點擊一個按鈕時,UIImageView調整爲320 * 80(動畫)和UIImage。

我該怎麼辦才能防止UIImage調整大小? 謹以此UIImage留下,但相同的,並且僅示出該圖像的一個部分(一個320 * 80幀用0/0原點)

編輯:裁剪

我認爲圖像裁剪到的大小合適,然後的UIImageView的圖像設置爲全尺寸的圖像,但它看起來醜陋,因爲當用戶點擊的UIImageView,這一次仍然是320×320,但的UIImage已被設置爲裁剪後的一個(320 * 80)因此它被拉伸...

謝謝

回答

3

我做我的應用程序的一個類似的東西,當我創建了UIImageView對象,我的財產contentMode設置爲UIViewContentModeScaleAspectFill,並且clipsToBounds屬性YES。希望這可以幫助。

+0

哦,你是一個救命的人,我開始用scrollview來做,但我遇到了更多的問題。非常感謝 –

+0

不用客氣;) – pherediac

3

您可以調整圖像大小,然後用調整大小的圖像替換UIImageView圖像。

CGImageRef imageToBeResized = yourImage.CGImage; 
CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToBeResized, CGRectMake(0, 0, 320, 80)); 
CGRelease(imageToBeResized); 
UIImage *resizedImage = [UIImage imageWithCGImage:imageToBeResized]; 
+0

我試過你的解決方案,這不是我想要的(請參閱編輯的問題) –

1

也許你應該考慮在你的UIImageView中使用UIScrollView。所以,你可以用它的屬性來歸檔所需的行爲。

相關問題