gpt4 book ai didi

iphone - 如何检测自定义 UITableviewCell 中的滑动删除手势?

转载 作者:技术小花猫 更新时间:2023-10-29 10:20:17 32 4
gpt4 key购买 nike

我自定义了一个UITableViewCell,我想实现“滑动删除”。但我不想要默认的删除按钮。相反,我想做一些不同的事情。实现这个最简单的方法是什么?当用户滑动删除单元格时,是否会调用某些方法?我可以防止默认删除按钮出现吗?

现在我认为我必须实现自己的逻辑,以避免在 UITableViewCell 的默认实现中滑动删除时发生的默认删除按钮和收缩动画。

也许我必须使用 UIGestureRecognizer?

最佳答案

如果您想做一些完全不同的事情,请向每个 tableview 单元格添加一个 UISwipeGestureRecognizer。

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

// Configure the cell.


UISwipeGestureRecognizer* sgr = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(cellSwiped:)];
[sgr setDirection:UISwipeGestureRecognizerDirectionRight];
[cell addGestureRecognizer:sgr];
[sgr release];

cell.textLabel.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];
// ...
return cell;
}

- (void)cellSwiped:(UIGestureRecognizer *)gestureRecognizer {
if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
UITableViewCell *cell = (UITableViewCell *)gestureRecognizer.view;
NSIndexPath* indexPath = [self.tableView indexPathForCell:cell];
//..
}
}

关于iphone - 如何检测自定义 UITableviewCell 中的滑动删除手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6167756/

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