web-dev-qa-db-ja.com

UIImageViewコンテンツモードを管理する方法

いくつかの固定長方形サイズのUIImageViewがあります。しかし、私の画像はサイズが固定されていません。 UIImageViewの長方形サイズに従って画像を表示したい。画像の解像度が大きい場合でも大きい場合でも、UIImageViewのサイズに応じて固定表示にする必要があります。以下のアセットを使用することで混乱しています。

UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw

自動サイズ変更マスクに設定するもの彼らはどのように振る舞いますか?

44
DipakSonara

このコードを試してください、それがあなたのために働くことを願っています。

以下のようにUIImageViewcontentModeUIViewContentModeScaleAspectFillに設定します。

imageView.contentMode = UIViewContentModeScaleAspectFill;

uIImageViewのautoresizingMaskを次のように設定します。

imageView.autoresizingMask =   
    ( UIViewAutoresizingFlexibleBottomMargin
    | UIViewAutoresizingFlexibleHeight
    | UIViewAutoresizingFlexibleLeftMargin
    | UIViewAutoresizingFlexibleRightMargin
    | UIViewAutoresizingFlexibleTopMargin
    | UIViewAutoresizingFlexibleWidth );
89
sagarcool89

次の2行が必要です。

imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.layer.clipsToBounds = YES; // Must do this or else image will overflow
3
atulkhatri

In Swift=コンテンツモードも設定します

var newImgThumb : UIImageView
newImgThumb = UIImageView(frame:CGRectMake(0, 0, 100, 70))
newImgThumb.contentMode = .ScaleAspectFit
2
Ali Raza

ここでSwiftのソリューション:

let imageView = UIImageView(image: UIImage(named: "backgroundImage"))
imageView.frame = tableView.frame
imageView.contentMode = .ScaleAspectFill
tableView.backgroundView = imageView
2
Urkman

比率に従ってUIImageViewサイズを作成する場合は、モードをUIViewContentModeScaleAspectFitに設定する必要があります

 yourimage.contentMode=UIViewContentModeScaleAspectFit;

動作しているかどうか教えてください!!!

ハッピーコーディング。

1
NiravPatel

Swift 3が次のように変更されたことに注意してください

.ScaleAspectFitからscaleAspectFit

.ScaleAspectFillから.scaleAspectFill

1
kickinbahk

これがあなたのお役に立てば幸いです

CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);

image = [UIImage imageWithCGImage:imageRef]];

CGImageRelease(imageRef);
0
SachinVsSachin