1

UIImage の上部を表示しようとしています。

次のコードを使用して、中央部分を表示できることはわかっています。上部についても同じことを行う方法を見つけようとしています:

imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;

サーバーから取得した UIImage は必ずしも同じサイズではないため、UIViewContentModeTopLeft を使用できません。画像を拡大縮小して上部を表示する方法が必要です。

ありがとう。

4

2 に答える 2

2

画像の任意の長方形を表示したいので、最も簡単な方法は、通常のビュー内に imageView を配置することです。画像ビューのフレームを設定して必要なビットを表示し、囲んでいるビューをクリッピングを行うように設定できます。

たとえば、1000 x 1000 px の画像があり、200,200 から 400,400 の長方形を表示したい場合

UIImageView* imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SomeImage"]];
imageView.frame = CGRectMake( -200, -200, 1000, 1000);
UIView* enclosingView = [[UIView alloc] initWithFrame:CGRectMake( 0, 0, 200, 200);
enclosingView.clipsToBounds = YES;
[enclosingView addSubview: imageView];

この場合、画像ビューのサイズを画像に合わせて設定しているため、コンテンツ モードはあまり重要ではありません。

于 2013-04-23T18:30:01.117 に答える