如何更改Swift中表视图单元格中的默认删除按钮?

时间:2016-02-25 17:45:42

标签: ios swift uitableview

我想在Swift中实现此代码。我在Objective-C中从这些问题中得到了以下代码:

Change the color of default red color delete button in UITableViewCell when swiping rows or click on edit button

Customize the delete button in UITableView

- (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:@"delete.png"]];
            [[subview.subviews objectAtIndex:0] addSubview:deleteBtn];
            [deleteBtn release];
        }
    }
}
}

我不知道如何在Swift中实现此方法。有谁可以帮助我?

我正在使用Xcode 7.3 Beta。

2 个答案:

答案 0 :(得分:7)

swift tableview委托有新方法。试试这可能会解决您的问题。

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?{

    let ackAction = UITableViewRowAction(style: .default, title: "Himanshu", handler: myFunction)
        ackAction.backgroundColor = UIColor.orange

    return [ackAction]
}

现在您甚至可以修改删除功能

答案 1 :(得分:-3)

UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)];
            [deleteBtn setImage:[UIImage imageNamed:@"delete.png"]];

在这里,您可以看到您的按钮delete.png,您需要在图片中更改delete.png。以后会改变。

[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)];

此处还可以更改尺寸

由于