gpt4 book ai didi

ios - 检测 UIControlEventTouchUpInside 并删除 UITableViewCell 手势

转载 作者:行者123 更新时间:2023-11-29 03:05:06 25 4
gpt4 key购买 nike

我在检测 UITableViewCell 内的 UIButton 的 UIControlEventTouchUpInside 时遇到问题。该应用程序实现了 UITableView 类的编辑委托(delegate)方法,以允许用户删除单元格。

当我点击按钮时,它会触发选择器并执行它必须执行的操作(正确行为)。问题是当我做删除从按钮的相同位置开始的单元格的手势时。触发分配给按钮的编辑委托(delegate)方法和选择器。因此,行为不是预期的,因为移动了单元格,并且还执行了按钮逻辑。有什么方法可以检测用户是否做了删除手势,而不是点击手势?

这是我的实现,希望对您有所帮助。

编辑委托(delegate)方法的实现:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
...
}
}

这里是 UIButton 实现:

UIButton *videoButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
videoButton.backgroundColor = [UIColor clearColor];
[videoButton addTarget:self action:@selector(videoButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
[cell addSubview:videoButton];

和选择器方法实现:

- (void)videoButtonTapped:(id)sender
{
(some domain logic...)
}

最佳答案

每次您开始编辑单元格(滑动)时,单元格都会将其编辑状态更改为 YES,因此您可以在 videoButtonTapped: 方法中检查单元格的编辑模式,这样如果单元格是在编辑模式下,什么都不做。

关于ios - 检测 UIControlEventTouchUpInside 并删除 UITableViewCell 手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22870829/

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