IGGridView
と呼ばれるからのデータ入力に使用するサードパーティグリッドがあります。画像の黄色い矩形です。アニメーションビューは別のビューでアニメーションを作成した後にタッチイベントを受け取りません
私はいくつかのアニメーションで私の手をしようとしているだけで、グリッドを数秒間に左の300ポイントに移動したいと思っていました。
アニメーションを行う前に、グリッドはスクロール可能です。セルにはタッチできます。タップすると、セルの値を編集するエディタが表示されます。
しかし、アニメーションの後、私が全く期待していなかった最も奇妙なことが起こります。黄色の矩形グリッドがオーバーラップしているアンダーラップビューは、まだグリッドを介してすべてのタッチイベントを受け取りますが、グリッドはまったく何も受け取りません。スクロールしたり、セルをタップすることはできません。グリッドがアニメ化された後に死んだようなものです。 グリッドが上に現れても上に表示されないので、補完ハンドラを追加してbringSubviewToFront
コールを実行しましたが、それでも何もしなかったことが原因と思われます。右のグリッドにタッチすると、左側の他のビューと重なっていないグリッドがタッチされ、スクロールしてセル(右端のセル)を編集できます。だから、グリッドはオーバーラップしているという見方によって隠されているようです。
何が起こっているのですか?
私のアニメーションコードは、スワイプの左ジェスチャーに表示されます。
-(void)handleSwipeLeftRecognizer:(UISwipeGestureRecognizer*)recognizer
{
[UIView animateWithDuration:2 animations:^{
grid1.frame = CGRectMake(-300, 0, 340, self.view.frame.size.height);
} completion:^(BOOL finished) {
grid1.frame = CGRectMake(-300, 0, 340, self.view.frame.size.height);
[[UIApplication sharedApplication].keyWindow bringSubviewToFront:grid1];
}];
}
は、アニメーションの前に、それはこのようになります。アニメーションの後
それはこのようになります。
サードパーティ製でないコントロールでこれを再生してみましたか? – Code
@コードいいえ、私はまだそれを試していません。 –