停止重复 UIImage 背景图案图像 - Swift

Gay*_*anK 2 uitableview uiimage swift3

我正在 UITableView 中使用滑动来删除。在滑动中我需要添加图像。当我添加图像时,它会重复。如何停止重复

 func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
        let deleteButton = UITableViewRowAction(style: .default, title: "Delete") { (action, indexPath) in
            self.tableView.dataSource?.tableView!(self.tableView, commit: .delete, forRowAt: indexPath)
            return
        }

        deleteButton.backgroundColor = UIColor(patternImage: #imageLiteral(resourceName: "favourite_delete"))
        deleteButton.title = ""
            return [deleteButton]
}
Run Code Online (Sandbox Code Playgroud)

问题

在此输入图像描述

我需要的

在此输入图像描述

Swe*_*per 5

正如您可能已经猜到的,问题就在这里:

deleteButton.backgroundColor = UIColor(patternImage: #imageLiteral(resourceName: "favourite_delete"))
Run Code Online (Sandbox Code Playgroud)

UIColor您正在使用初始化程序创建一个(patternImage:)。这意味着图像将被重复(看到“图案”这个词了吗?)。

来自文档

您可以使用图案颜色来设置填充或描边颜色,就像设置纯色一样。在绘制过程中,图案颜色的图像根据需要平铺以覆盖给定区域。

要解决此问题,您可以通过编程调整图像大小,使其适合按钮的框架。请参阅调整 UIImage 大小的最简单方法?

或者,使用MGSwipeTableViewCell,它允许您将图像放在滑动按钮上。