gpt4 book ai didi

ios - 检测双击 UITableViewCell 时出现问题

转载 作者:行者123 更新时间:2023-11-28 21:43:35 24 4
gpt4 key购买 nike

如果用户在 UITableView Cell 上进行了一次触摸,我想执行一个操作,而如果用户在 UITableView Cell 上进行了两次触摸,我想执行另一个操作。

我尝试了这个问题中提到的多种方法。

How can I detect a double tap on a certain cell in UITableView?

但是每一种方法,我都无法正确区分单击和双击。我的意思是,在每次双击时,它也会发生单击。因此,双击会发生,每次单击操作也会触发。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
FeedCell *myCell = (FeedCell*) [self.tblView cellForRowAtIndexPath:indexPath];

NSLog(@"clicks:%d", myCell.numberOfClicks);

if (myCell.numberOfClicks == 2) {
NSLog(@"Double clicked");
}
else{

NSLog(@"Single tap");
}
}

执行此操作的正确方法应该是什么?

最佳答案

我宁愿不要使用 didSelectRowAtIndexPath 而你想要 double tap Action 。使用 single TapGesture 替换为 didSelectRowAtIndexPath。无论您在 didSelectRowAtIndexPath 中编写什么代码,都将在 single tap 选择器方法中编写。

示例:实现单手势和双手势,如下所示。

UITapGestureRecognizer *singleTap = [[[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doSingleTap)] autorelease];
singleTap.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:singleTap];

UITapGestureRecognizer *doubleTap = [[[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doDoubleTap)] autorelease];
doubleTap.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:doubleTap];

[singleTap requireGestureRecognizerToFail:doubleTap];

关于ios - 检测双击 UITableViewCell 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31153381/

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