ストーリーボード未使用で開発しています。
HogeViewControllerというビューから
下記コード①のFirstViewControllerをモーダル表示します。
コード① //HogeViewController内です let modal = FirstViewController(nibName: nil, bundle: nil) let navi = UINavigationController(rootViewController: modal) navi.modalTransitionStyle = .coverVertical self.present(navi, animated: true, completion: nil)
それからFirstViewControllerのNavigationBarに生成したUIBarButtonItem(UIBarButtonItemの生成方法は下記コード③を見てください)をタップし、
下記コード②の様にSecondViewControllerへpushViewControllerで遷移します。
コード② //FirstViewController内です let second = SecondViewController() self.navigationController?.pushViewController(second, animated: true)
分からない点
ここまでは問題ないのですが、
遷移後のSecondViewControllerに同じ様に作成したUIBarButtonItemが表示されません。
SecondViewControllerからThirdViewControllerへpush遷移する といった動作を続けたいのですが、表示されない為できない状態です。
どこが問題なのか分からないため質問します。
見ていただけないでしょうか?
//追記
UIBarButtonItemは下記コード③の様に生成しています。
コード③ var nextBtn:UIBarButtonItem! ... nextBtn = UIBarButtonItem(title: "進む", style: .plain, target: self, action: #selector(huga)) self.navigationItem.rightBarButtonItem = nextBtn
「作成したUIBarButtonItem」というのは何でしょうか?HogeViewController内コードの navi のナビゲーションバーのことでしょうか?
失礼しました。そうです。追記しましたので、見ていただけないでしょうか?
コード3はどこに書いているのでしょうか?
2行(nextBtn = ...からの部分)は、FirstViewController と SecondViewController 内のviewDidLoad内に書いています。
SecondViewControllerの方を削除(コメントアウトでいいです)したらどうなりますか?
変わらず表示されていないです。
こちらでは表示されたのでちょとと分からないですね。
fuzzball様 私の書き漏れがあった為、表示出来ていませんでした。お手数おかけして申し訳ありませんでした。今後確認し質問する様にします ありがとうございます。
回答1件
あなたの回答
tips
プレビュー