未分類

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

AppDeveloperの有償版

AppDeveloperは無料版でも使えるが、一部機能やApppleStoreへの公開は有償版に登録しなくてはいけない。 普段使っているAppleIDではなく、新しく開発用に作成することが推奨されてい …

no image

collectionViewでセルが選択された時に色を変える

collectionViewでセルが選択された時にハイライトをつける関数。 collectionView(_:shouldHighlightItemAt:) デフォルトでtrueとなっているので、これ …

no image

Realmの保存できるプロパティ

realmでは保存できる型が決まっている。 対象外のUIColor型で保存しようとしたら以下のエラーが出た。 ‘Property Color.color is declared as Op …

no image

画面遷移の2つの方法

1.簡単な方法 Buttonを次の場面にControl押しながらドラックアンドドロップする。 基本、showかPresentModallyを選ぶ。 2.コードで繋ぐ方法 条件つきで画面遷移したい時に使 …

no image

FSCalendarカスタマイズのメモ

5週か6週で行数を変える //5週か6週で行数を変える calendar.placeholderType = .fillHeadTail 該当月が5週なのに、6行表示されるのを防ぐ。 .noneにする …