在另一个视图上设置动画后,动画视图不会收到触摸事件

时间:2016-06-24 04:39:57

标签: ios objective-c animation

我有一个第三方网格,用于从IGGridView输入数据,名为bringSubviewToFront。它是图片中的黄色矩形。

我正在尝试一些动画,只想在几秒钟内将网格移动到左侧300点。

在我做任何动画之前,我的网格是可滚动的,它的单元格是可触摸的,当点击时,会出现一个编辑器来编辑单元格值。

然而,在动画之后,最奇怪的事情发生在我根本没想到的事情上。黄色矩形网格现在已经结束的欠视图仍然接收所有触摸事件,通过网格,但网格根本没有收到任何内容。它不会滚动,也不会对其单元格进行处理。这就像电网动画后死亡一样。 我想也许是因为即使网格出现在顶部,它也不是真的在顶部,所以我添加了一个完成处理程序并进行了-(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]; }]; } 调用,但仍然没有。请注意,如果我触摸最右边的网格,它不与左边的另一个视图重叠,网格仍会接收其触摸,我可以滚动它并编辑一个单元格(最右边的单元格)。所以它就像网格被覆盖的视图所掩盖。

那里发生了什么?

我的动画代码在向左滑动手势上。

RewriteCond %{REQUEST_URI} blogg/.*
RewriteRule blogg/(.*)?$ blog/$1 [L]

在动画之前,它看起来像这样。

enter image description here

动画后,它看起来像这样。

enter image description here

1 个答案:

答案 0 :(得分:1)

我明白了。我忘记了我的网格放置在透明视图的顶部,当我为其设置动画时,它大部分移动到透明视图之外,所以我将所有触摸的东西都切断了已经移到外面的网格部分它的基本观点。