簡體   English   中英

在UIImageVIew中顯示UIImage的一部分

[英]Show portion of UIImage in UIImageVIew

這個問題可能已經得到了解答,但是經過數小時的谷歌搜索后,我無法找到解決問題的方法。

我在自定義UITableCell中有一個UIImageView (320 * 320), 里面有一個UIImage (320 * 320)。 當我點擊一個按鈕時, UIImageView也會調整為320 * 80( 動畫 )和UIImage。

我怎么能阻止UIImage調整大小? 我希望這個UIImage保持不變並且僅顯示該圖像的一部分(具有0/0原點的320 * 80幀)

編輯:裁剪

我想把圖像剪裁到合適的大小,然后將UIImageView的圖像設置為全尺寸圖像,但它看起來很難看,因為當用戶點擊UIImageView時 ,這個仍然是320 * 320但是UIImage已被設置為裁剪一個(320 * 80)所以它是拉伸...

謝謝

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

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

我在我的一個應用程序中做了類似的事情,當我創建UIImageView對象時,我將屬性contentMode設置為UIViewContentModeScaleAspectFill ,並將clipsToBounds屬性設置為YES 希望這可以幫助。

也許您應該考慮在內部使用UIScrollView和UIImageView。 因此,您可以使用其屬性來存檔所需的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM