今回はUINavigationControllerを使って画面遷移をしたいと思います!!
NavigationControllerの良いところはやっぱりNavigationBarが使えるところかと思います。
NavigationBarとはアプリのヘッダー部分で、通常はロゴなどが乗っかってるところです。
そこをカスタマイズすることができて、非常に便利です!!

真ん中の『tap』をtapすると、次の画面へ行き

青文字の『<NavigationBar』と書かれた部分をタップすると、
元居た画面に戻ります!
これを作成しますよ!!
まずは・・・・
storyBoardでViewControllerを一枚配置し、UIButton(テキストをbutton→tapに変更!)をviewControllerの真ん中に配置してください。
次に・・・・
viewControllerを選択したまま、上の方にあるEditorのEmbed InのNavigation Controllerを選択します!
すると・・・
こういった画面になると思います!!
次に・・・・
のようにもう一枚ViewControllerを配置し、
最初に置いたViewControllerから今置いたViewControllerとつなげます(control + d&d)。
segueは『show』を指定しましょう!
segueのidentifierは『goNext』に指定しましょう!
次に・・・
コードとstoryBoard上のUIButtonを繋げましょう!
connectionはactionを指定し、nameは『goNextButton』にしましょう!
そして、
@IBAction func goNextButton(_ sender: Any) { performSegue(withIdentifier: "goNext", sender: nil) //この行をを付け足す!! }
ここの意味はgoNextButtonをタップすると、
performSegue(withIdentifier: “goNext”, sender: nil)
が動作するよーってことです。
performSegueとは??
performSegueとは画面遷移をするメソッドです。
withIdentifierには先ほどstoryBoardで指定したIdentifierを指定します。
完成です!
viewControllerに色つけたりするのを忘れました・・・
一度、runしてみてください!
画面遷移できましたか?
不思議なことに、2枚目のviewControllerのNavigationBarに『<Back』というボタンがついているかとおもいます。
これがNavigationBarの良いところですね!
何も書いていないのに察してくれています、、、本当に優秀!!
最終的にはこうなりました!
import UIKit class ViewController: UIViewController { 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. } @IBAction func goNextButton(_ sender: Any) { performSegue(withIdentifier: "goNext", sender: nil) } }
次回は
こちらです!
UINavigationBarをカスタマイズします!!!!
http://programming-beginner-memo.com/wp/2016/11/18/20161118235432/