未分類

NavigationControllerを用いた画面遷移(コードのみ)

投稿日:

NavigationControllerの画面遷移で、ストーリーボードの黄色丸からドラックする方法ではなく、コードのみを用いて遷移する方法。

準備

・遷移元Viewcontroller、遷移先NextViewControllerを用意する。
・ViewControllerのみEnbed in NavigationControllerをする。
・ViewControllerに画面遷移するためのボタンを用意する。

1. 遷移先のNextViewControllerにStoryBoarIDを設定する。

今回は「next」とした。
またUse StoryBoardIDにチェックを入れる。

2.遷移元ViewControllerにコードを書く。

遷移するためのボタンをIBActionで繋いで、その中にStoryBaordIDから遷移先を取得し、push遷移するための記述をする。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func button(_ sender: Any) {
        //遷移先のNextViewControllerを取得
        let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "next") as! NextViewController
        //画面遷移をする
        navigationController?.pushViewController(nextVC, animated: true)
    }
    
}

※「as! NextViewController」のところを遷移先のController名にするのを忘れがちなので注意!

3. 遷移先NextViewControllerにコードを書く。

NavigationBarを表示させ、タイトルを設定するための記述をする。

import UIKit

class NextViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //NavigationBarを表示する
        navigationController?.setNavigationBarHidden(false, animated: false)
        //遷移先のタイトルを設定する
        self.navigationItem.title = "タイトル"
    }

}

4. 完成

 

-未分類

執筆者:

関連記事

no image

画面遷移する時に値を渡す

1.遷移先で値を受け取るための変数を宣言しておく。 class NextViewController: UIViewController { @IBOutlet weak var label2: UI …

no image

文字列の先頭から何文字を取り出す

文字列の先頭から、または後ろから、任意の数の文字を取り出す方法。 let text = “こんにちは、世界” //先頭から5文字を取り出す let first = String(text.prefix …

動かしたくないところも考慮してキーを打つ

関節アニメーションでショベールカーを動かす

関節アニメーションで、人間の動きなど様々なアニメーションが作れる。   「親子付け」を設定することで、連動する動き(移動など)と個別の動き(シャベルの回転など)をつけることができる。 全ての …

文字をバラバラに表示させる

バラバラ文字を作る 文字を全選択したら「GG分解」のスクリプトを適用する。 適用すると文字がパーツごとに選択できるようになる。 最終的に表示されるバラバラな状態になるよう位置を調整して、キーを打ってお …

no image

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

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