2016-04-10 19 views
0

私はこのような画像を設定するSDWebImageを使用します。この後画像のサイズを変更するのは誰ですか? SDWebImageまたはContentMode

[self.imageView sd_setImageWithURL:topicModel.large_image] 
     placeholderImage:nil 
     options:0 
     progress:^(NSInteger receivedSize, NSInteger expectedSize) { 

    } completed:^(UIImage *image, 
     NSError *error, 
     SDImageCacheType cacheType, 
     NSURL *imageURL) { 
}]; 

、私はこのようなImageViewののcontentModeを設定します。

if (topicModel.isBigPicture) { 
     self.imageView.contentMode = UIViewContentModeTop; 
     self.imageView.clipsToBounds = YES; 
    }else { 
     self.imageView.contentMode = UIViewContentModeScaleAspectFill; 
     self.imageView.clipsToBounds = NO; 
    } 

ImageViewのサイズは(355、200)であります、
画像のサイズがより大きいより大きい、幅と高さの両方。

わかりましたように、
topicModelがbigPictureの場合、contentModeはUIViewContentModeTopになります。 UIViewContentModeTopは同じサイズのままで、位置が調整されただけです。

しかし、問題が見つかりましたか?
私の場合、画像のサイズは(300、XXX)に変換されます。XXXは(image.realHeight * 300.0/image.realWidth)で計算されます
実際には私のプロジェクトで画像のサイズを変更しません。

私のコードの何が問題なのです。ここで

は私の質問ですか?
イメージの幅をimageViewの幅と同じにする方法は?

答えて

0

最後に、私は答えを見つける。
そしてその理由は、私がここSDWebImage

の最新バージョンを使用すること

:-)ソリューションを使用すると、元の画像を取得したい場合、あなたはこのようなSDWebImage/SDWebImageDecoder.mのコード変更する必要がありますされている。

CGContextRelease(context); 
    //add this method 
    UIImage *decompressedImage = [UIImage imageWithCGImage:decompressedImageRef]; 

    //delete this method 
    UIImage *decompressedImage = [UIImage imageWithCGImage:decompressedImageRef scale:image.scale orientation:image.imageOrientation]; 
    CGImageRelease(decompressedImageRef); 

    return decompressedImage; 
    } 

あなたが詳細をお知りになりたい場合は、以下のリンク
SDWebImage ---- Images from web-url too small when using v. 3.7.4 and above

を見ることができます
関連する問題