2011-02-03 49 views
0

我有一个UIViewController页面中排列成网格的4个子视图。有时,动画将在子视图上运行。我试图识别其中一个子视图(使用UITapGestureRecognizer)。iOS:如何在动画发生时使手势识别器响应更快?

现在,当动画未运行时,轻拍会被顺利识别。但是,当动画运行时,我的大部分水龙头都不会被识别(即使在另一个子视图上运行动画时)。

有什么办法可以提高手势识别器的优先级吗?任何建议表示赞赏。谢谢

回答

1

该问题是由于设置动画选项ns为0.在将UIViewAnimationOptionAllowUserInteraction作为动画选项添加后,它可以很好地工作。

0

这个听起来像主线程被堵塞的一个经典案例。多线程将解决您的问题。

做这样的事情:

-(void)performAnimations{ 
    //Do your animations in this method 
}

一旦你有你的动画在一个单独的方法,你可以自由地做到这一点:

[self performSelectorInBackground:@selector(performAnimations)];

这将使你的主线程自由识别触摸事件:)

+0

我试过这个,但是仍然得到了相同的效果 - 运行动画时没有反应。多线程工作前有什么配置吗? – Shameem 2011-02-03 19:29:47