手作業ですべてを行う前に、フレームワークから得られる助けがあるかどうかを尋ねたいと思います。
マップを持つ別のUIViewを保持するUIViewがあります。親UIViewは、マップのいくつかの凡例を保持します。最初に、マップビューでいくつかの座標を定義します。例えば(100、40)、そして親ビューにグラフィックの一部を配置します(グーグルマップの鋲など)。親ビューと子ビューはどちらも300x200であり、原点は同じです。これは、(100、40)が両方のビューで同じポイントであることを意味します。
ここで、CGAffineTransformを使用して子UIView(マップ)をズームおよび移動すると、座標(100、40)が別の場所に配置されます。ここでは、親ビューは事実上マスクです。
CGAffineTransform Matrixまたはフレームワークの別の部分を使用して、ポイントが移動したので、タックを配置する場所を計算して親ビューに通知できますか?
つまり親ビューの(100、40)と比較した子ビューの(100、400)、変換後の比較はどうなりますか?
提案や助けを与えてくれてありがとう。
子UIViewのアニメーション
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
CGAffineTransform transform = CGAffineTransformMakeScale(1.8f, 1.8f);
worldMap.transform = transform;
worldMap.bounds.Origin = newPos;
[UIView commitAnimations];
UIViewの-convertPoint:toView:
および-convertPoint:fromView:
はあなたのために働くはずです。