我有一个UITableView,我的单元格处理所有的触摸而不是tableview本身。细胞需要瞬间响应单击和双击。 (是的,这确实意味着单击会被调用,然后是双击,我希望它们都被调用)。
单击动作是放入敲击单元格下方的另一个单元格(该单元格是上述单元格的菜单)。我为此使用insertRowsAtIndexPaths。然而,在那个动画期间,用户交互似乎完全失败了,所以我无法在第二次点击时触发该动作。
使用2个UITapGestureRecognizers(单击和双击)并将单个设置为等待双击失败,但在单击操作中会导致明显的延迟。
我知道在UIView动画中你可以将它标记为UIViewAnimationOptionAllowUserInteraction并且它可以正常工作,但是这不是UITableView中的一个选项。
关于如何在tablview动画期间继续接收触摸事件的任何想法?
我尝试过使用UITapGestureRecognizers,使用touchesEnded和touchesBegan,没有人在动画期间注册过触摸。
答案 0 :(得分:1)
只需为执行动画创建自己的for循环。我使用了自己的递归逻辑,看起来像动画0.3秒。
NSInteger i = 0;
-(void)recursiveMethod
{
//Doing Animation task very slowly...
//For example, Transforming UIView.
[aView setTransform: CGAffineTransformMakeScale(i/100.0,i/100.0)];
if(i<100)
{
[self performSelector:@selector(recursiveMethod) afterDelay:0.3/100.0];
i++;
}
}
您也可以执行Touch Action。编译器不会破坏您的用户交互。