私の iOS アプリでは、複数の UIImage を 1 つの背面 UIImage に配置し、プログラムでスクリーンショットを取得して、すべてのサブイメージを追加して全体の背面イメージを保存しています。
今、その保存された画像のサブビュー UIImages の位置を変更したいと思います。画像全体をスクリーンショットとして撮ったので、サブビュー画像の位置を検出する方法を知りたいです。
ウィンドウ座標に変換されたフレームを記録します。画像のピクセルは、フレームの原点 (通常の場合) と同じか、網膜の場合は 2 倍にする必要があります。スクリーンショットは画面全体なので、その寸法はウィンドウ フレームに相当します。UIView には、任意のビュー フレームを他のビュー (またはウィンドウ) 座標に変換する便利なメソッドがいくつかあります。
編集: コンテンツの適合性に対処するには、自分で計算する必要があります。imageView のフレームがわかっているので、画像のサイズを尋ねることができます。それぞれの縦横比を知ることで、画像が完全に収まる次元を決定し、他の次元を計算できます (これは、imageView フレームよりも小さい値になります。ビューの次元から画像の次元を引いた差を、これにより、ビュー内の画像へのオフセットを知ることができます. これで、画像のフレームをビューに表示されているとおりに保存できます.