我有一个UIViewController页面中排列成网格的4个子视图。有时,动画将在子视图上运行。我试图识别其中一个子视图(使用UITapGestureRecognizer)。iOS:如何在动画发生时使手势识别器响应更快?
现在,当动画未运行时,轻拍会被顺利识别。但是,当动画运行时,我的大部分水龙头都不会被识别(即使在另一个子视图上运行动画时)。
有什么办法可以提高手势识别器的优先级吗?任何建议表示赞赏。谢谢
我有一个UIViewController页面中排列成网格的4个子视图。有时,动画将在子视图上运行。我试图识别其中一个子视图(使用UITapGestureRecognizer)。iOS:如何在动画发生时使手势识别器响应更快?
现在,当动画未运行时,轻拍会被顺利识别。但是,当动画运行时,我的大部分水龙头都不会被识别(即使在另一个子视图上运行动画时)。
有什么办法可以提高手势识别器的优先级吗?任何建议表示赞赏。谢谢
该问题是由于设置动画选项ns为0.在将UIViewAnimationOptionAllowUserInteraction
作为动画选项添加后,它可以很好地工作。
这个听起来像主线程被堵塞的一个经典案例。多线程将解决您的问题。
做这样的事情:
-(void)performAnimations{
//Do your animations in this method
}
一旦你有你的动画在一个单独的方法,你可以自由地做到这一点:
[self performSelectorInBackground:@selector(performAnimations)];
这将使你的主线程自由识别触摸事件:)
我试过这个,但是仍然得到了相同的效果 - 运行动画时没有反应。多线程工作前有什么配置吗? – Shameem 2011-02-03 19:29:47