未分類

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

アプリのVersionとBuild番号の使い分け

versionを変更したら、appstoreに表示されてるバージョンに反映される。 基本的にバージョンアップしたらversionをインクリメントする。 Buildを変更しても、appstore上では何 …

no image

collectionViewで起動時に特定のセルを選択する

起動時に特定のセルを選択した状態にする。 以下をviewDidLoadに書く。 rowの数字で何番目のセルか指定できる。 //起動時に選択されるセル let testIndexpath: IndexP …

no image

youtubeでMP3ダウンロードできるフリーサイト

FLVTO https://www.flvto.biz/jp106/   画面録画 shift+com+5

no image

パーツをコードで配置する方法

パーツはStoryBoardで置く以外に、コードからも配置できる。 ImageViewをコードから配置してみる。 1.インスタンスを生成する //インスタンス生成 var imageView = UI …

テロップのデザインを一括で変える方法

エッセンシャルグラフィックで作成したテロップのデザインを全ての字幕に一括でつける。   ①マスタースタイル登録をする ②プロジェクトファイルに作成すたスタイルが入るので、反映したいクリップ全 …