私は現在、ユーザーが写真を撮ったり、ライブラリから選択したりするアプリケーションを持っています。
次のコントローラーでは、選択/撮影された画像が表示されます。
私が今やりたいことは、画像ビューの上にある種のビューを表示することです。ビューはエッジの周りが半透明になり、下の画像を示す円が表示されます (半透明ではありません)。基本的にこれは画像の一部を選択したものです。
次に、ユーザーがビューを移動できるようにする必要があるため、ビューが画面上のどこにあるかを保存する必要があります。
これにアプローチする最良の方法は何ですか?
移動できるオーバーレイ ビューが必要です。円は常に固定サイズで、内側は下の画像ビューを示し、外側は 0.5 の半透明になるため、画像は表示できますが、完全には表示されません。次に、移動した円の場所を保存しますか?
- - 編集 - - -
これは私が作成したサンプル画像です。
UIImageView (最下層) として写真を持つビューがあります。この上に、ビューを追加しようとしています (上の図のように)。上の画像は、提案されているように実際には png であることに注意してください。ただし、このオーバーレイは移動可能です。円は透明 (0) であるため、下の写真が完全に見えます。外側 (灰色) は部分的に透明 (0.5) であるため、完全に見えないだけです。
上面図 (円の部分) を写真上で移動して、写真上の特定のポイントをマークします。この例では、円が画面上で側面 (灰色) が終了する場合、ビューの移動を考慮した巨大な画像を作成する必要があります。
EDIT 2 ---- photoView (別の UIImageView) の上に 1 つの UIImageView があります。オーバーレイは画面の 4 倍で、中央に円があります。
アイテムが移動すると、実行されるジェスチャ認識エンジンがあります。
-(void)handlePan:(UIPanGestureRecognizer *)gesture {
NSLog(@"Pan Gesture");
gesture.view.center = [gesture locationInView:self.view];
}
現在、上から UIImageView は中点から移動しているため、指が動くと円が動いているように見えます。
それはすべて素晴らしいことですが、提案された回答を handlePan メソッドに実装するにはどうすればよいでしょうか。そのため、中間点がエッジに近すぎないことを確認する必要があります。理想的には、円が画面から完全に (またはほとんど) 外れないように、画面の周りに 50 のマージンが必要ですか?