import UIKit class FirstViewController: UIViewController { @IBAction func change(_ sender: Any) { let storyboard: UIStoryboard = self.storyboard! let nextView = storyboard.instantiateViewController(withIdentifier: "second") let navi = UINavigationController(rootViewController: nextView) // アニメーションの設定 // navi.modalTransitionStyle = .coverVertical present(navi, animated: true, completion: nil) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
1
2
3
私は1から2のように、遷移後、遷移先の画面の上にナビゲーションコントローラのバーがなく、タブバーが表示された状態にしたいのですが、ナビゲーションコントローラナビゲーションコントローラを使ってやると遷移先の画面が3のようになります。2のようにするにはどうしたらいいですか?
前回の質問が解決していないのであれば、前回の質問内で質問なりコメントをして下さい。無闇に新しい質問をしないで下さい。
質問したのですが、ちゃんと動かなくてもう1度質問したのですが、なかなか帰ってこなかったので質問しました。ごめんなさい
[Q1]「自分で調べて実行したら」というのは質問内のコードのことでしょうか、それとも別のコードでしょうか?[Q2]現状は「遷移できない」のでしょうか、それとも「遷移は出来るけどタブバーが消える」のでしょうか?[Q3]「タブバーが消える」というのは言葉通り「消えて」しまうのでしょうか、それとも遷移した画面に「隠れて」しまうのでしょうか?[Q4]print(targetViewController)を追加して出力を教えて下さい。
別のコードです。質問ないのコードは遷移ができないだけです。出力すると<app名.SecondViewController: 0x147f1a190>
Q3は?
現状では、遷移できない状態なのでわかりません。自分で調べた方はtabbarのないsecondviewが上に来て隠れてました
print(self.navigationController)の出力を教えて下さい。
<app名.SecondViewController: 0x100d351c0>
なぜナビゲーションコントローラがSecondViewControllerなのでしょうか?SecondViewControllerはUIViewControllerを継承しているのではないのでしょうか?ViewControllerの構成がどうなっているのか書いて下さい。
print(self.navigationController)だとエラーが出たのでエラーを消そうとしたらprint(self.navigationController?.pushViewController ?? targetViewController1)となったのでそのまま実行したら、こうなりました。説明なしですみませんでした。
エラーが出たのであればそのエラーを書いて下さい。
Expression implicitly coerced from 'UINavigationController?'to Anyこれが出ました
それはwarningなので気にせず実行して出力を教えて下さい。
nilが出ました
回答1件
あなたの回答
tips
プレビュー