Xcode 9.4.1 の時点では、特に Interface Builder でこれを行うことはまだできないようです。ただし、コードで行うのは非常に簡単です。
IB でボタンを設定する必要はまったくありません。viewDidLoad
メソッドに次のコードを追加するだけです。
navigationItem.leftBarButtonItem = editButtonItem
これにより、[編集] ボタンが自動的に設定され、ユーザーが編集を終了できるように [完了] に変わります。
編集プロセスに関連するカスタムを行うには、View Controller のsetEditing(_ editing: Bool, animated: Bool)
メソッドをオーバーライドします。
たとえば、編集のオンとオフを切り替える必要があるテーブル ビューがある場合は、次のようにします。
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
tableView.setEditing(editing, animated: animated)
}
必ずここに電話super.setEditing
してください。
注: を使用している場合UITableViewController
はsetEditing
、テーブル ビューを処理するためにスーパー クラスに既に設定されています。編集を有効/無効にするときに含めたい他のカスタム コードがない限り、オーバーライドする必要はありません。