未分類

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

プッシュ遷移・モーダル遷移・タブ遷移の特徴と使い分け

iOSには主に「タブ遷移・モーダル遷移・プッシュ遷移」の3つの遷移方法がある。 これらを場面によって適切に使い分けることで正しい画面遷移が設計できる。 ・プッシュ(階層型):タスクを進行する ・モーダ …

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

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

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

レガシータイトルで綺麗な角丸四角形を作る方法

レガシータイトルで綺麗な角丸四角形を作りたい。 角丸長方形(可変)ツールで作ると角が歪む 角丸長方形を作成し、右の「フィレットサイズ」で角を調整できる。 ただし、角が歪んでしまう。(画像の下の長方形の …

no image

デリゲートの基本

他クラスのデリゲートメソッドを自分のクラスで使うにはデリゲートを使う。 1.宣言する(プロトコルを追加する) 2.デリゲートをselfに設定する 3.デリゲートメソッドを書く —&#821 …

no image

AutoLayoutで均等な横並びにする

AutoLayoutで均等に並べるための基本が分かりやすく載っている↓ 参考:Xcode|StoryboardのAutoLayoutを使用してラベルやボタンを均等に配置する