まず、可能な限り明確なコンテキストを紹介します(必要な場合は、スクリーンショットを追加できます)。なぜ私のビューは彼らのドラッグ中に他のビューの後ろに行くのですか?
私は、多くのドラッグ可能なビュー(PostItsと呼ばれる)を管理するために作られたアプリケーションに実際に取り組んでいます。これらのPostItsはドラッグできない他のビューの中に保存されます。イメージに
私は内部の多くのPostItsで2つの遠くの箱を持っている場合、それ、それはのようなものです:私は実際にそこに、それを含むのビュー内のポストイットをドラッグし始めたときに:
| * | |* *|
|* *| <- distance -> | * |
|____| |____|
私の問題問題ありません。 BUT、私は実際のビューの外に出ようとしているとき(例のために)、PostItはビューの境界に遭遇したときに消え始める。
| * | |* *|
|* *--> disappearing.. | * |
|____| |____|
戻って私の画像化exempleで行く:あなたはボックスにポストイットを選んで、内部を移動するとき、それはすべて良いことだ場合のようなものです。しかし、ボックスの外に出て他の人に行くと、PostItは目に見えなくなりますあなたの手にはまだがあります。なぜなら、目に見えないPostItをもう1つのボックスにドロップすると、ソート内のボックス内のデータ)。 (このコードは私のUIPanGestureRecognizer
に実際にある)
| * | |* *|
|* *--> disappearing --> * *| ..reappearing
|____| |____|
ここで
if (recognizer.state == UIGestureRecognizerStateBegan) { CGPoint begin; // Creating a point because you can't directly change the x and t attribute of a point, you have to change the whole point begin = selectpostit.postItC.centerOfThePostit; begin.x -= _collectionView.contentOffset.x; begin.y -= _collectionView.contentOffset.y; selectpostit.center = begin; } [self.view insertSubview:selectpostit aboveSubview:self.view];
10他の人がconcluantはなかったしてみてください、次のとおりです。
CGPoint tmpPoint = selectpostit.center;
[[UIApplication sharedApplication].keyWindow addSubview:selectpostit];
selectpostit.center = tmpPoint;
self.view.layer.zPosition=1;
self.collectionView.layer.zPosition=1;
selectpostit.layer.zPosition = 1;
[self.view bringSubviewToFront:selectpostit];
[_collectionView bringSubviewToFront:selectpostit];
[selectpostit.superview bringSubviewToFront:selectpostit];
[self.view insertSubview:selectpostit atIndex:1];
おそらく、私はよく、これらのメソッドを使用していませんよ?
私の質問:は、我々は(UIPanGestureRecognizer
となる)dragNdropを開始しているときの前に他のすべてのビュー(絶対にすべての他のすべてを)ビューを配置する簡単な方法はありませんか?
PS:そこには文法上の間違いがたくさんあるはずです。申し訳ありませんが、私はフランス語であり、間違いなく私を説明するにはちょっと複雑です。
PostIt Containerビューの 'clipsToBounds'プロパティが' NO'値であることを確認してください。 – fabe
明日、私は仕事中にチェックします。ありがとう。 – Kokodelo
はい、あなたが正しいと答えてこれを受け入れるでしょう。 – Kokodelo