質問: ### 前提・実現したいこと xcodeでiPhoneのアプリを開発しているプログラミング初心者です。 タブバーがある画面とない画面を行き来しても、ちゃんとタブバーある画面の方にはタブバーが表示されるようにしたいです。 追記:画像の真ん中画面の「カメラを起動する」ボタンを押すと右画面に映り、右画面のButtonを押すと真ん中画面に戻る、という風にしています ### 発生している問題・エラーメッセージ 追記:画像の真ん中画面の「カメラを起動する」ボタンを押すと右画面に映り、右画面のButtonを押すと真ん中画面に戻るのですが、真ん中画面のタブバーだけが表示されなくなります。 ### 該当のソースコード swift まだストーリーボートで配置だけをしている状態で、コードは触っていません ### __ プログラミング初心者で、説明が下手で申し訳有りません・・・ ![![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/0b3fc01d15cd8b65ebe2db2691dab738.png)](7e9b34caf10307f34cf4fb207d1c2aff.png)
回答: Storyboardを見た感じだと、戻りたくて繋げている`segue`がありますが、 これだと戻る動作ではなく、新しく接続している`View`を表示するため、`TabBar`が消えてしまいます。 戻るためには2種類あり、`unwindSegue`を利用し戻る方法とコードで戻る方法があります。 どちらもコードを書きますが、大した内容ではないので、難しく考えないでください。 まず共通として、戻るためにつないでいる`segue`を削除してください。 1つ目の`unwindSegue`では、 ``` @IBAction func unwindToTop(segue: UIStoryboardSegue) {} ``` というコードを戻るためのボタンがあるViewに記載し、 storyboardで戻るボタンを`Ctrl+クリック`でViewの上にある3つの四角のうちの`Exit`に持って行きます。 すると先ほどコードに書いたunwindToTopが選択できるので、そちらを選択します。 2つ目のコードで戻るには、storyboardで`Assistant Editor`を開き、 戻るためのボタンを`Ctrl+クリック`でコードに引っ張ります。 すると小さなウィンドウが出て、`Connection`に`Action`を選び、 下にある`Name`に好きな名前をつけ`Type`を`UIButton`を選択して`Connect`を押します。 ``` class ViewController2: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func buttonPressed(sender: UIButton) { } } ``` するとこのような形になり、この下記の部分を ``` @IBAction func buttonPressed(sender: UIButton) {} ``` ``` @IBAction func buttonPressed(sender: UIButton) { self.dismissViewControllerAnimated(true, completion: nil) } ``` に変えてあげて実行すれば戻ってもTabBarが表示されるはずです。 説明が下手で申し訳ないです。