私はCGRectをチェックしようとしている:UIImageViewを回転させた後、タッチポイントがUIImageView領域内にあるかどうかを確認する方法はありますか?
CGFloat imageX1 = imageView.frame.origin.x;
CGFloat imageY1 = imageView.frame.origin.y;
CGFloat imageX2 = imageView.frame.origin.x + imageView.frame.size.width;
CGFloat imageY2 = imageView.frame.origin.y + imageView.frame.size.height;
//NSLog(@"(%f, %f) - (%f, %f)", imageX1, imageY1, imageX2, imageY2);
if(imageX1 < touchedX && touchedX < imageX2 &&
imageY1 < touchedY && touchedY < imageY2){ }
そして私はUIImageViewの拡大縮小/回転していない場合にのみ、チェックのこのタイプが機能することを知っています。
私はCGRectApplyAffineTransform(imageView.frame, imageView.transform);
を試しましたが、変換されたUIImageViewの最小の矩形を作成します。
UIImageViewを45度回転し、1.5にスケーリングしたとしましょう。 UIImageViewの外にあるピクセルをタッチすると、UIImageView Rect内にタッチポイントがあると見なしますが、そうではありません。 UIImageViewは回転して拡大縮小しますが、CGRectは元のままです。
誰もがこれに対処する方法を知っていますか?私はグラフィックのものにはかなり新しいです。何かが助けになるでしょう。ありがとう!