UITableView动画期间的用户交互

bcl*_*mer 5 animation objective-c touch uitableview ios

我有一个UITableView,我的单元格处理所有的触摸而不是tableview本身.细胞需要瞬间响应单击和双击.(是的,这确实意味着单击被调用然后双击,我希望它们都被调用).

单击动作是放入敲击单元格下方的另一个单元格(该单元格是上述单元格的菜单).我为此使用insertRowsAtIndexPaths.然而,在该动画期间,用户交互似乎完全失败,因此我无法在第二次点击时启动该操作.

使用2个UITapGestureRecognizers(单击和双击)并将单个设置为等待双击失败,但会导致单击操作中出现明显的延迟.

我知道在UIView动画中你可以标记它UIViewAnimationOptionAllowUserInteraction并且它会正常工作,但是这不是UITableView中的一个选项.

有关如何在tablview动画期间继续接听触摸事件的任何想法?

我尝试过使用UITapGestureRecognizers,使用touchesEnded和touchesBegan,没有人在动画期间注册过触摸.

Moh*_*shi 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++;
    }
}
Run Code Online (Sandbox Code Playgroud)

您还可以执行触摸操作。编译器不会禁用您的用户交互。