UITableViewRowAction com ícone e texto
Existem algumas perguntas semelhantes por aí, mas acho que deve haver uma resposta atualizada para o iOS 10, usando o Swift3, que não usa APIs privadas e não depende de você restringir seu ícone ao unicode emoji.
Eu tenho linhas de tabela com três ações agora:
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let rename = UITableViewRowAction(style: .normal, title: "Rename") { (_, indexPath) in
self.renameEntry(indexPath)
}
let locate = UITableViewRowAction(style: .normal, title: "Locate") { (_, indexPath) in
self.locateEntry(indexPath)
}
locate.backgroundEffect = UIVisualEffect()
let delete = UITableViewRowAction(style: .default, title: "Forget") { (_, indexPath) in
self.deleteEntry(indexPath)
}
return [delete, locate, rename]
}
Mas, em vez de quadrados de cor com texto centralizado de tamanho e estilo, não da minha escolha, eu quero:
Tentei usar um backgroundColor, mas isso apenas colocou minha imagem em todo o botão e não mudou a posição ou a cor do texto. Então tem que ser algo mais do que apenas
theAction.backgroundColor = UIColor(patternImage: UIImage(named: "renameImage")!)
Existe uma boa maneira de fazer isso?