いくつかの固定長方形サイズのUIImageViewがあります。しかし、私の画像はサイズが固定されていません。 UIImageViewの長方形サイズに従って画像を表示したい。画像の解像度が大きい場合でも大きい場合でも、UIImageViewのサイズに応じて固定表示にする必要があります。以下のアセットを使用することで混乱しています。
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw
自動サイズ変更マスクに設定するもの彼らはどのように振る舞いますか?
このコードを試してください、それがあなたのために働くことを願っています。
以下のようにUIImageView
contentMode
をUIViewContentModeScaleAspectFill
に設定します。
imageView.contentMode = UIViewContentModeScaleAspectFill;
uIImageViewのautoresizingMaskを次のように設定します。
imageView.autoresizingMask =
( UIViewAutoresizingFlexibleBottomMargin
| UIViewAutoresizingFlexibleHeight
| UIViewAutoresizingFlexibleLeftMargin
| UIViewAutoresizingFlexibleRightMargin
| UIViewAutoresizingFlexibleTopMargin
| UIViewAutoresizingFlexibleWidth );
次の2行が必要です。
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.layer.clipsToBounds = YES; // Must do this or else image will overflow
In Swift=コンテンツモードも設定します
var newImgThumb : UIImageView
newImgThumb = UIImageView(frame:CGRectMake(0, 0, 100, 70))
newImgThumb.contentMode = .ScaleAspectFit
ここでSwiftのソリューション:
let imageView = UIImageView(image: UIImage(named: "backgroundImage"))
imageView.frame = tableView.frame
imageView.contentMode = .ScaleAspectFill
tableView.backgroundView = imageView
比率に従ってUIImageView
サイズを作成する場合は、モードをUIViewContentModeScaleAspectFit
に設定する必要があります
yourimage.contentMode=UIViewContentModeScaleAspectFit;
動作しているかどうか教えてください!!!
ハッピーコーディング。
Swift 3が次のように変更されたことに注意してください
.ScaleAspectFit
からscaleAspectFit
.ScaleAspectFill
から.scaleAspectFill
これがあなたのお役に立てば幸いです
CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
image = [UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);