NavigationBarItemの戻るボタンをタップしたときに確認のダイアログを出したいと思っています。
コードはこちら
Swift
1 2 override public func viewDidLoad() { 3 super.viewDidLoad() 4 5 subscribeBackButton() 6 7 } 8 9 func subscribeBackButton() { 10 self.navigationController?.navigationItem.leftBarButtonItem?.rx.tap 11 .subscribe(onNext: { [unowned self] in 12 self.showDialog() 13 }).disposed(by: disposeBag) 14 } 15 16 func showtDialog() { 17 let dialog = DialogViewController() 18 dialog.delegate = self 19 present(dialog, animated: false, completion: nil) 20 }
戻るボタンが押されたときに、ダイアログが表示されるはずなのですが、ブレイクポイントを置いてみてもsubscribeが呼ばれていないです。
これがだめだったので、NavigationControllerDelegateを使ってみたのですがそれもDelegateメソッド自体がそもそもよばれなかったです。
Swift
1 override public func viewDidLoad() { 2 super.viewDidLoad() 3 4 navigationcontroller?.delegate = self 5 6 } 7 8 9 extension AgeCheckEditViewController: UINavigationControllerDelegate { 10 private func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) { 11 print("テスト") 12 } 13 }
なにかわかる方いたら教えていただけますでしょうか?
よろしくおねがいします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。