UIView
ユーザーが画面の下部にある「トレイ」からイメージビューをドラッグできる比較的単純なアプリを作成しました。ビューがドロップされると、それ自体が「ターゲット」のサブビューに追加されUIView
ます。
私の問題は、イメージビューをターゲットビューにドロップすると、フレームが完全に間違っており、イメージビューがターゲットビューの別の位置に (一見ランダムに) ジャンプすることです。
私はこれで髪を引き裂き、大規模な頭がおかしくなりました。スーパービューでドラッグされたビューの座標を取得し、それをターゲット ビューの座標に変換する方法はありますか?
ご覧のとおり、アイコンを「トレイ」ビューから取り出し、ドラッグが始まるとメイン ビューに移動します。終了したら、アイコンをターゲット ビューに追加するだけです。
if (gesture.state == UIGestureRecognizerStateBegan){
if (icon.superview == viewTray) {
[self closeTray:nil];
[self.view addSubview:icon];
}
}
if (gesture.state == UIGestureRecognizerStateEnded) {
[viewTarget addSubview:icon];
}
xib の基本のイメージ: