私のストーリーボードには、UITableViewController
(UINavigationController
に埋め込まれています)があり、その上に左のバーボタンアイテムとしてCANCELボタンが追加されています。UINavigationControllerバーのデフォルトの「編集」ボタンを抑制する方法は?
実行時に[CANCEL]ボタンは表示されませんが、[EDIT]ボタンは実行されます。
私は明示的にEDITボタンを追加していないので、その無効状態にある編集機能のデフォルトの実装を保持している:
// Override to support conditional editing of the table view.
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
// Return false if you do not want the specified item to be editable.
return false
}
私は、EDITボタンと、この行を非表示にする方法に見てきましたコードの動作:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.leftBarButtonItem = nil
}
... EDITボタンが表示されません。しかし、それはまたCANCELと他のすべてのボタンを左に隠します!
私は明示的にEDITボタンを示したコード、すなわち:
self.navigationItem.leftBarButtonItem = self.editButtonItem
を発見した。しかし、CANCELのための同等のものを見つけることができません。
EDITボタンを隠す方法がありますが、キャンセルボタンが表示されていますか?
--- UPDATE#1 ---
私はすでに、添付のスクリーンショットあたりIBOutletを経由して、私のクラスコードに[キャンセル]ボタンが接続されています。
--- UPDATE#2 ---
は、私が今
tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath)
と
tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
がコメントアウトされていることを保証しています。だから、私が知る限り、行の編集を可能にするこのTableViewControllerについては何もありません。それでも「EDIT」ボタンが表示され、「CANCEL」ボタンがわかりにくくなります。
ストーリーボードのスクリーンショットが役立ちます。 –
キャンセルボタンと編集ボタンの両方が左側にありますか? もしそうなら、あなたはそのキャンセルボタンのタイトルを変更して、そのボタンがブール値を選択されていないことを確認し、コードとタイトルを変更することにしてはいけません。 – Akash
@Akash、あなたが私に何を求めているか正確にはわかりません。私はこれを「キャンセル」ではなく「カスタム」システムに変更しようとしました。ボタンのタイトルも変更しましたが、変更はありません。そして、そのボタンがブール値を選択されていることを確認することによって、あなたはどういう意味ですか? – Dave