【swift】画面に非表示でpushViewControllerする方法
はじめに
やりたかったことを文字にすると非常にわかりずらいのですが、以下のことになります
1. 画面Aを表示
2. 画面B(入力画面)へ遷移
3. 2.からの戻るボタンで画面C(一覧画面)へ遷移
わかりずらいですが、表示してない画面に戻るということになります
実装方法
AviewController.swift
AviewController: UIViewController { ・・・ func showB(sender: UIButton) { var vc = BviewController() self.navigationController?.pushViewController(vc, animated: true) } }
BviewController.swift
BviewController: UIViewController { ・・・ func showC(sender:UIButton) { // 現在のスタックの前に次に新たに登録したいViewControllerを追加 ★ここがポイント var count = self.navigationController!.viewControllers.count - 1 self.navigationController?.viewControllers.insert(CviewController(), atIndex: count) self.navigationController?.popViewControllerAnimated(true) } }
CviewController.swift
CviewController: UIViewController { ・・・ }
やりたかったのはメッセージなどに書き込んだ後にリストページなどにもどるということでした
戻るボタンで再び書き込み画面を表示したくないってだけだったんですけどね、、、
以上です