このページでは、下の写真のようにUITableViewの編集モードに表示される左端のアイコンを非表示にする方法を解説します。
実装方法
該当する処理だけ抜き出すと次のようになります。
extension ViewController: UITableViewDelegate {
// ① 編集モードの時に左端のチェックマークを消す
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
return .none
}
// ② アイコンがあった所のスペースをなくす
func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}
}
editingStyleForRowAtはチェックマークのデザインを決める処理ですね。
ここで「.none」を返すとアイコンを消すことができます。
しかし、アイコンが消えても、アイコン分のスペースが残った状態なので、shouldIndentWhileEditingRowAtの処理で、falseを返します。
これで、アイコン分のスペースを無くすことが可能です。
コードを書いてもチェックが消えない場合
セルの複数選択が可能になっている場合、先ほどのコードを書いても適用されません。
そのため、次のように書いてセルを複数選択できないようにしておきます。
tableView.allowsMultipleSelectionDuringEditing = false
created by Rinker
¥3,536
(2024/11/23 14:06:16時点 Amazon調べ-詳細)
(2024/11/23 14:06:16時点 Amazon調べ-詳細)