正確なコードを公開することはできません。しかし、これは大まかに行った方法です。私の場合、ピンチで UIImageView のサイズを変更できるようにしたかったのです。あなたの場合、これは単純な長方形になる可能性があります。その場合、関数のロジックだけがhandlePinch:
それに応じて変更されます。
ピンチ ジェスチャ レコグナイザーを初期化し、ターゲット ビューに追加します。
UIImageView *imageview = [[UIImageView alloc] initWithImage:image];
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
[imageview addGedtureRecognizer:pinchGesture];
実際のジェスチャ ハンドラ コード。ジェスチャ ハンドラー コードについては、このページを参照しました。
- (void)handlePinch:(UIPinchGestureRecognizer *)recognizer
{
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
}
サイズ変更の場合は、このページの方法をCGRect
調べる必要があります。CGAffineTransformScale の 2 番目と 3 番目の引数は、それぞれ X 方向と Y 方向のスケーリング係数です。アスペクト比を初期値と同じに維持する上で重要なことは、これらの両方の値を同じにすることです。お役に立てれば。私が何かを明確にしていない場合に備えてコメントしてください。CGRectApplyAffineTransform