首页 > 解决方案 > Swift - 如何垂直转换(翻转)自定义 UITableViewRowAction

问题描述

我正在尝试在我的表格视图中实现滑动以删除行操作,但出于设计目的,表格视图被颠倒使用tableView.transform = CGAffineTransform(scaleX: 1, y: -1)所以我的大红色删除按钮是颠倒的。有没有简单的方法可以使用 cell.contentView.transform = CGAffineTransform(scaleX: 1, y: -1)它?

我尝试使用以下方法进行自己的滑动操作

func tableView(_ tableView: UITableView,
                 editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
    let delete = UITableViewRowAction(style: .default,
                                      title: "Delete",
                                      handler: { (_: UITableViewRowAction, _: IndexPath) -> Void in

      })
    //Flip the text here
    return [delete]
  }

但我看到的只是背景颜色和效果。

有什么帮助吗?:) 非常感谢,谢谢!

标签: swiftuitableviewuikittableviewtransform

解决方案


你能手动翻转你想使用的图像并像这样分配它吗?

let deleteAction = UIContextualAction(style: .destructive, title: nil) { (_, _, completionHandler) in
    self.viewModel.deleteScan(at: indexPath.row)
    completionHandler(true)
}

deleteAction.image = UIImage(named: "upside-down-delete")
deleteAction.backgroundColor = UIColor(named: "Red800-Red500")

推荐阅读