そこには同様の質問がいくつかありますが(例えばmy previous iOS10 variant)、Swift4を使ってiOS 11の最新の回答があるはずですプライベートAPIを使用し、あなたのアイコンをユニコードの絵文字に限定することには依存しません。アイコンとテキストを含むUISwipeActionsConfiguration/UIContextualActionと背景をクリア
iOS11へのAPIの進化により、画像とテキストを追加できるようになりましたが、テンプレートモードに強制され、設定した背景色で反転されます。例えば。これを生産する
let rename = UIContextualAction(style: .normal, title: "Rename") { (_, view, _) in
self.renameEntry(indexPath)
}
rename.backgroundColor = UIColor.black
rename.image = UIImage(named: "pencilEdit")
let locate = UIContextualAction(style: .normal, title: "Locate") { (_, view, _) in
self.locateEntry(indexPath)
}
locate.backgroundColor = UIColor.blue
locate.image = UIImage(named: "locatePin")
let delete = UIContextualAction(style: .destructive, title: "Forget") { (_, view, _) in
self.deleteEntry(indexPath)
}
delete.backgroundColor = UIColor.red
delete.image = UIImage(named: "triggerDeleteSelector")
return UISwipeActionsConfiguration(actions: [rename, locate, delete])
:
だから、明らかに、我々は、画像やテキストではなく、両方を持つことができます。
しかし、私が欲しいの外観は
別にある後方順から、私はiOS10のためにできたように、システムをだますためにどのように途方に暮れてよ。私はまだテキストと画像の両方で画像を生成することができますが、その画像の色を制御することはできません。 backgroundColorをnilまたは.clearに設定すると、空の四角形が作成されます。
古い 'UITableViewRowAction'と私の以前の投稿を使用すると面白いですが、背景色としてpatternImageを使用するとランタイムコンソール警告が表示されます。しかし、新しいクラスのためのそのような警告はありません。 –