如何更改 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 中的另一个表视图控制器中获取该表视图单元格中的文本字段文本?