我正在使用下面的代码来尝试看看这个:
但它看起来像:
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let deleteRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: "Delete") { action, indexPath in
}
deleteRowAction.backgroundColor = UIColor.red
deleteRowAction.backgroundColor = UIColor(patternImage: UIImage(named: "DeleteIcon.png")!)
return [deleteRowAction]
}
我做错了什么?
答案 0 :(得分:0)
只需改变:
deleteRowAction.backgroundColor = UIColor(patternImage: UIImage(named: "DeleteIcon.png")!)
为:
deleteRowAction.image = UIImage(named: "DeleteIcon.png")
它应该有用。
答案 1 :(得分:0)
在下面的IOS 11中,editActionsForRowAt方法在背景中显示模式图像,如果图像小于单元格大小,则重复模式图像。 这就是使用第三方实现此SwipeCellKit
的原因如果你在IOS 11中实现它,那么使用这个UITableViewDelegate函数,它完美地工作示例:
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let deleteAction = UIContextualAction(style: .normal, title: "", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
// Call edit action
// Reset state
success(true)
})
deleteAction.image = #imageLiteral(resourceName: "Delete")
deleteAction.backgroundColor = .red
let value = UISwipeActionsConfiguration(actions: [deleteAction])
value.performsFirstActionWithFullSwipe = true
return value
}