2011-09-16 10 views
7

ここにキャッチがあります。私は2つのスクロールビューを持っています.1つは、基本的にトランプ(カスタムクラスビュー)に似ている10の奇妙なサブビューで満たされています。私は、私が持っている空のスクロールバーにこれらのビューのいくつかをドラッグアンドドロップできるようにしたい。スクロールビュー間のIOSドラッグアンドドロップ

これらの2つのスクロールビューの間には、さまざまなビューがあります。だから、私はビューを実際に1つのビューからドラッグされ、他のスクロールビューに配置されているようにしたい。どのように私はこれを達成するのですか?

私はタッチを使わなければならないことを知っていますが、誰かが簡単な例を挙げることができれば、私は素晴らしいでしょう。おかげさまで

+0

本当に「iOS」だと申し訳ありません。 – SeriousSam

+0

誰もこの回答はありません??? – SeriousSam

+0

私は誰も前にこのような要件を見つけたことに驚いています。 – SeriousSam

答えて

7

非常に簡単です。 ScrollViewは他のビューと同じように、基本的にビューを1つのスーパービューから別のスーパービューにドラッグアンドドロップします。

あなたの階層は以下の通りです: あなたは、あなたがD & Dを起動したとき、VはAのサブビューとしたときに終了していることを意味ビューBにビューAからVをビューVをドラッグ&ドロップしたいですB. AとBのサブビューが共通のスーパーS.

手順持っている必要があります: は、0 /あなたのタッチ認識がないAまたはBに、S上にある必要がありますが

1 /ユーザーV.あなたをタップそれをAから削除し、同じ位置にSに追加します(UIViewには、ビューから別のビューへの位置を変換するメソッドがあります)。
2 /ユーザーがVをBにドラッグします。
3 /ユーザーがVをドロップします。 。それでもAに近い場合は、Aにアニメーションを戻します。AとBの間にある場合は、それを最も近いものに挿入するか、そこに留まらせて、ユーザーがVをもう一度タップしてAにドラッグするまで、または

+0

ありがとうSulthan私はすでに同様のコードを実装していました。ここでステータスを更新するのを忘れてしまった:) しかし、他のユーザーとのやりとりをすべてブロックし、Vで有効にするにはどうすればよいですか? – SeriousSam

+0

ただ1つの質問です。私はこれらの小さなビューの束を使用していますし、一度に、私はそれらのうちの1つと対話したかった。つまり、複数のドラッグは起こらないはずです。彼らはIPADで起こる。どのように私はこれを解決するのですか? – SeriousSam

+0

可能性/ドラッグを開始する前に、現在ビューがドラッグされているかどうかを確認します。 b /ドラッグを開始すると、他のすべてのコンポーネントをブロックします。 – Sulthan

関連する問題