未分類

NavigationControllerを用いた画面遷移

投稿日:2020年7月30日 更新日:


ViewControllerを選択→Editor→Embed In→NavigationController

NavigationControllerとNavigationBarが出てくる。
ViewControllerの黄色丸からNextViewControllerへドラッグアンドドロップ。
showでもmodalでもいけるが、今回はshowにした。

画面遷移するためのコードを追加。
また、NextViewControllerのIdentifireを「next」に設定して、UseStoryboardIDにチェックを入れておく。

//プラスボタンを10回押した時に画面遷移する
    @IBAction func plus(_ sender: Any) {
        count = count + 1
        label.text = String(count)
        if count == 10 {

            //NextViewControllerを省略して書けるようにする
            let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "next") as! NextViewController
            //画面遷移をする
            navigationController?.pushViewController(nextVC, animated: true)

        }
    }

補足:performSegue(withIdentifier: “next”, sender: nil)で画面遷移する方法ではsegueのIdentifier(segueの四角クリックで設定するやつ)を使っているが、今回の画面遷移で使っているStoryboardIDはsegueのIDとは別物である。
NavigationControllerでなくても、ButtonのAction内に書いても使える。

補足:sToryBardIDでもsegueでもどちらでもNavigationBarでの遷移が使える

-未分類

執筆者:

関連記事

no image

タップでsearchBarのキーボードを閉じる方法

navigationControllerを使っている場合、 override func touchesBegan(_ touches: Set, with event: UIEvent?) { vie …

no image

iPhoneデバイス画面サイズ比較

XcodeのDeviceにiPoneXSがない理由 シュミレーター やStoryBoardでiPhoneX,XS,XRが見当たらない。 理由は、iPhone11など同じ画面サイズのデバイスがあるから。 …

no image

Firebaseがpodinstallできない原因

Firebaseのpod installを試みたが、何度やっても以下のエラーが出る。 [!] Unable to find a specification for `FireBase` You hav …

no image

クラッシュした時に見るところ・ブレイクポイントを作る

このエラーが出た時に見るところ(選択箇所)↓ reason:のあとを読む。 nextが渡っていないことがわかる。 さらにAutoBreakPointを作ることで、どこでエラーが出ているかわかる。 +→ …

no image

NavigationControllerでpopで前の階層を戻った時に値を渡す

NAvigationControllerで次の階層へ行く時に値を渡す方法と異なるので注意。 ひとつ前の階層のVCで受け取る変数を宣言しておく。 現在の階層で以下を記述する。 // 一つ前のViewCo …