13

UIImageViewが画像を表示する方法に本当に失望しています。

私は次のコードを持っています:

UIImageView *imgview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 100)];
imgview.image = [UIImage imageNamed:@"img.JPG"];
imgview.backgroundColor = [UIColor greenColor];
imgview.contentMode = UIViewContentModeScaleAspectFit;
[self.view addSubview:imgview];

私が得るものは次のスクリーンショットです:

http://img26.imageshack.us/img26/3686/screenshot20130123at629.png

[画像はUIImageViewの全幅に拡大され、全高にはなりません]

元の画像:

http://img248.imageshack.us/img248/341/screenshot20130123at638.png

4

5 に答える 5

1

実行したところ、コードは正常に動作します。実際には png であるのに JPG を指定することに何か関係があるのでしょうか?

UIViewContentModeScaleAspectFill を使用することもできますが、境界がビュー制限内にあることを確認してください。そうしないと、外側が切り取られる可能性があります。

于 2013-01-23T19:46:07.410 に答える
0

私の場合、エラーで設定したイメージビューのサイズを変更するいくつかの制約を削除して解決しました。

[アップデート]

別のビューとの相対的なサイズを作成するのは「サイズ制約」です。

Xamarin IOS ドキュメント

于 2016-06-17T16:31:01.380 に答える
0

これはばかげているので、私はそれを誇りに思っています。要するに、実際には実際に壊れていたのは結果に対する私の期待であったのに、 contentMode = UIViewContentModeScaleAspectFit が壊れていると考えて、この SO 投稿に行き着きました。正方形のビューで正方形の画像を扱っていたので、Fit と Fill はまったく同じ効果を持っていました。広場の中にワイドスクリーンを設置できなかったとき、私は赤ちゃんのように泣きました。

于 2014-11-08T15:37:47.650 に答える