web-dev-qa-db-ja.com

画像をクロップし、50xおよび200yで100w 100hのみを表示するUIImageViewを作成します

そのサイズの画像を表示するだけのxcodeアプリでポップアップするボックスを作成しようとしています。私は以下を持っています

UIImageView *newView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"beach.jpg"]];

しかし、これはフルサイズの画像を作成し、それを表示するだけです。どうすれば、50オーバーで200ダウンで100時間x 100時間でのみ表示できますか? CGRectを使用しますか?

また、クリックすると消えるようにできますか?

編集#1画像のサイズを変更したくない-単に100乗ピクセルをプルしてフレームに配置するだけです。

26
timpone

次のコードを使用してみてください。

MyImageview.contentMode = UIViewContentModeScaleAspectFill; 
MyImageview.clipsToBounds = YES;

以下のコードで画像をトリミングできます:

CGRect cropRegion = CGRectMake(50, 200, 100, 100);
UIImage *image = [UIImage imageNamed:@"beach.jpg"];
CGImageRef subImage = CGImageCreateWithImageInRect(image.CGImage, cropRegion);
UIImage *croppedImage = [UIImage imageWithCGImage:subImage];
UIImageView *newView = [[UIImageView alloc] initWithImage:croppedImage];
15
evanchin

ストーリーボードのClip Subviewsオプションをチェックして、トリミング効果を達成することもできます。

enter image description here

または、Swift 4 +を使用したコードでの同等の設定

imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
13
Yuchen Zhong