メインビューがあります。メインビューの内部には、ボタンコンテナと表示コンテナの2つのコンテナビューがあります。これらの各コンテナの内部には、それぞれボタンと表示フィールドがあります。
つまり、メイン、サブ(コンテナー)、サブサブ(ボタンとフィールド)の3つのレベルのビューがあります。
ボタンが押されたときに、そのボタンの画像をボタン領域から表示領域にアニメーション化したいと思います。つまり、2レベル上に移動してから、2レベル下に移動する必要があります。
現在、ボタンの上にカスタムボタンのUIImageと同じUIImageを作成しています。移動して、アニメーションの最後で破棄するので、実際のボタンを変更する必要はありません(ボタンをそのままにして、再利用できるようにします)。
明らかに、このUIImageViewのcenter / bounds/frameを取得できます。
しかし、目的地の座標を決定するのに問題があります。フレームとセンターはスーパービューを基準にしていますが、それは1つ上のレベルです。目的地に到達するために正しいXオフセットとYオフセットを合計するために行うべき計算がたくさんあるようです。
これはUIViewのconvertRect:toView:またはconvertRect:fromView:のジョブですか?それらをどのように使用するか、またはそれらが実際に使用するのに適切な方法であるかどうかを判断するのに苦労しています。
ある「ネストされた」ビューから別の「ネストされた」ビューに何かを移動するという、十分に一般的な問題のようですが、検索しましたが、答えが見つかりません。