未分類

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

MVCデザインパターン

MVCデザインパターンとは プログラムをMVCに分けて構成する。 ・Model ・View ・Controller それぞれの役割 Model: 機能(処理を実行) Controller: Viewに …

no image

String型からDate型への変換

String型の「2020/08/10」をDate型に変換したい。 import Foundation let dateFormatter = DateFormatter() dateFormatte …

3Dオブジェクトを効率的に作る

  平面を4つ作成して、位置と回転を調整することで立方体を作成する。 全ての平面のアンカーポイントを立方体の中心に持っていくことで、位置はいじらず回転だけで作れる。このようにより効率的な作成 …

no image

collectionViewで均等なマス目を作る

セル同士を0.5の線で区切りたいが、所々太くなってしまっている。 ボーダーを非表示にすると、わずかな隙間ができている。 セル同士の隙間を0にすることで、綺麗な0.5のボーダーにしたい。 //セルの大き …

音声をフェードイン、フェードアウト、トランジションさせる

フェードインする方法 エフェクトの[オーディオトランジション] → [クロスフェード] → [指数フェード]をドラッグして、タイムライン上にある音声の頭の部分に持っていく。 指数フェードの範囲は変えら …