我做了一个自定义的UITableViewRowAction。现在,我想添加图像而不是文本。我知道这是可能的,但不知道该怎么做。你们中有人知道如何在Swift中做到这一点,并想帮助我吗?感谢您的回答!
苹果公司引入了灵活的方式来声明行操作,从而带来了巨大的好处。
extension ViewController: UITableViewDelegate { func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { let askAction = UIContextualAction(style: .normal, title: nil) { action, view, complete in print("Ask!") complete(true) } // here set your image and background color askAction.image = IMAGE askAction.backgroundColor = .darkGray let blockAction = UIContextualAction(style: .destructive, title: "Block") { action, view, complete in print("Block") complete(true) } return UISwipeActionsConfiguration(actions: [blockAction, askAction]) } func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { cell.textLabel?.text = "row: \(indexPath.row)" } }
例:
您需要将UIImage设置为行操作的backgroundColor,具体来说是:
UIColor(patternImage: UIImage(named: "IMAGE_NAME"))
[UIColor colorWithPatternImage:[UIImage imageNamed:@"IMAGE_NAME"]];