1
我用我的尺度範圍內UIImageView的圖像:UIViewContentModeScaleAspectFill的UIImageView找到多少是出界
圖像縮放很好,但我的問題是ImageView的坐在一個UIScrollView內,我已經設置了原點0 ,0。對於我使用的大多數圖像來說這很好,但有些圖像的高度更高,並且超出了界限。我不想修剪圖像,我想動態地將UIImageView框架在Y軸上向下移動,基於超出的範圍。
我該如何去了解Y軸/高度上的界限?請原諒糟糕的代碼示例。
NSString *ImageURL = [self.detailItem objectForKey:@"job_header"];
anImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, MAX_HEIGHT, 118)];
anImage.contentMode = UIViewContentModeScaleAspectFill;
[anImage setImageWithURL:[NSURL URLWithString:ImageURL] placeholderImage:[UIImage imageNamed:@"placeholder.png"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
//Adjust the frame once the image is loaded
[self adjustPositions];
}];
在adjustPosition:
if (anImage.image.size.height > MAX_HEIGHT) {
CGRect myFrame = anImage.frame;
myFrame.origin.y = 100;
myFrame.origin.y = anImage.frame.size.height/anImage.image.size.height;
anImage.frame = myFrame;
}
我還使用:SDWebImage,這是Q是相關的,也許可以解釋我的問題更好一點:UIImageView, setClipsToBounds and how my images are losing their head
請注意,我根本不想限制邊界。我想保留邊界,並簡單地將原點移動到真正的(0,0)位置。
關閉但沒有雪茄,我現在的問題是比預期的差距更大。所以我已經通過了resultSize.height移動了圖像幀origin.y。 我發現差距太大,所以我認爲邊界可能均勻分佈在頂部/底部。將結果除以2後,我稍微靠近一點,但圖像仍在進入頂部。 我瞄準了0,0。但顯然,圖像邊界造成困難。我想知道如果我應該放棄並使用適當的圖像縮放lib,將不會有任何越界...... – Tom 2013-05-10 00:17:07
我能夠實現合理的比例調整大小,同時仍然使用SDWebImage的異步/緩存能力與以下:https://github.com/toptierlabs/ImageCacheResize 我與此唯一的問題是它使用的是舊版本,並沒有維護,但它確實有效。 – Tom 2013-05-10 05:03:36