1

拡大縮小された画像を含むUIImageViewがあります。画像サイズは3264x2448で、UIImageViewcontentModeはAspectFitに設定されています。UIImageViewのサイズは320x427です。次のビュー階層があります。

WorkspaceView : UIView
   -> UIImageView (Contains the image)
   -> A UIView which contains a UITapGestureRecognizer

私は現在、UIImageView(大きなXY座標空間-2448)に基づいてタッチから座標を取得しようとしています。UIViewは、スーパービューではなく、独自のビューに基づいてタッチを発生させます。UITapGestureRecognizerをカプセル化して、デリゲート呼び出しを発生させました。

UIView内で座標を指定した場合、スケーリングされたXYタッチポイントを取得するにはどうすればよいですか?次のコードを試しましたが、機能しないようです。

- (void)lineView:(LineView *)aLineView requestsDistanceForLine:(Line *)line {
   // aLineView is the subview
   // line contains the startpoint and endpoint of the aLineView - it's the model
   // capturedImageView is the local instance of the scaled UIImageView
   CGPoint startPoint =[self convertPoint:[line startPoint] toView:self.capturedImageView];
}

startPointが小さすぎます。何かご意見は?

4

1 に答える 1

1

誰かがすでにこの問題を解決していることが判明しました。そのための github リポジトリへのリンクを次に示します。

https://github.com/nubbel/UIImageView-GeometryConversion

于 2013-03-04T23:46:37.990 に答える