gpt4 book ai didi

objective-c - UITableView 动画期间的用户交互

转载 作者:可可西里 更新时间:2023-11-01 04:54:12 26 4
gpt4 key购买 nike

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

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

使用 2 个 UITapGestureRecognizers(单击和双击)并将单次设置为等待两次失败有效,但会导致单击操作明显延迟。

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

关于如何在 tablview 动画期间继续拾取触摸事件有什么想法吗?

我试过使用 UITapGestureRecognizers,使用 touchesEnded 和 touchesBegan,没有一个在动画期间注册触摸。

最佳答案

只需创建您自己的 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++;
}
}

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

关于objective-c - UITableView 动画期间的用户交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12012684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com