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

Posted

技术标签:

【中文标题】如何更改 Swift 中表格视图单元格中的默认删除按钮?【英文标题】:How to change the default delete button in a table view cell in Swift? 【发布时间】:2016-02-25 17:45:42 【问题描述】:

我想在 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。

【问题讨论】:

【参考方案1】:

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]

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

【讨论】:

感谢您的回答。这对我帮助很大。抱歉迟到了。我将第二行替换为deleteButton.backgroundColor = UIColor(patternImage: UIImage(named: "delete_button")!)。它就像一颗宝石。【参考方案2】:
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)];

您也可以在此处更改尺寸

谢谢

【讨论】:

是的,我可以看到,但我希望整个方法使用 swift 语法

以上是关于如何更改 Swift 中表格视图单元格中的默认删除按钮?的主要内容,如果未能解决你的问题,请参考以下文章

为啥两个表格视图单元格中的两个集合视图在 Swift 4 中不起作用?

如何在 swift 4 中的另一个表视图控制器中获取该表视图单元格中的文本字段文本?

在 Swift 中,当方向发生时如何更改表格单元格布局?

Swift - 可编辑表格样例(可直接编辑单元格中内容移动删除单元格)

如何以编程方式删除表格视图单元格中的 UIView?

文本在表格单元格中重叠自身 SWIFT