自定义的UITableView删除按钮(Customize the delete button in

2019-07-04 09:51发布

我有一个功能“快速滑动删除”的TableViewCell 。 我想自定义删除按钮。

这是可能的,以及如何访问删除按钮?

Answer 1:

当用户执行滑动动作此方法将被称为

只需将这个在您的CustomCell

- (void)willTransitionToState:(UITableViewCellStateMask)state
    {
        [super willTransitionToState:state];
        if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask)
        {
            for (UIView *subview in self.subviews)
            {
                if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"])
                {
                    UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)];
                    [deleteBtn setImage:[UIImage imageNamed:@"arrow_left_s11.png"]];
                    [[subview.subviews objectAtIndex:0] addSubview:deleteBtn];
                }
            }
        }
    }

你不应该尝试,你不应该改变苹果的默认视图。



Answer 2:

如果你只需要改变按钮的标题,你只需要添加titleForDeleteConfirmationButtonForRowAtIndexPath方法。

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
    return @"NewButtonName";
}


Answer 3:

试试这个:

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


文章来源: Customize the delete button in UITableView