本気のSwiftデータベース!!

コピペでSwiftアプリ制作!をテーマに誰でもコピペして、すぐに活用できるような、辞書のような、データベースを作っていきます!その他、日々のなんでもないことを投稿していきます。


スポンサードリンク

<Swift5>コードのみで画面遷移する!(コピペで使えます!)<Xcode11>


スポンサードリンク


スポンサードリンク

 

今回は、タイトル通りStoryBoardを使わずに、コードのみで、画面遷移する方法を記述していきます。

StoryBoardも便利なのですが、やっぱり保守性等考えると、勝手が悪いので、本気の方は、storyboardは使わずに、コードでアプリ作りをしてみて下さい!

 

現時点(2019)で最新版です!(Swift関連古い記事多すぎですw

コピー&ペーストで使えますので、そのままXcodeへコピペして、いろいろいじってみて下さい!!

↓これがViewController

import UIKit

 

class ViewController: UIViewController {

    

    //画面の横幅、縦幅を定義

    let screenWidth = Int(UIScreen.main.bounds.size.width)

    let screenHeight = Int(UIScreen.main.bounds.size.height)

 

    override func viewDidLoad() {

        super.viewDidLoad()

        

        //ボタン生成

        let testButton = UIButton()

        

        //ボタンの設置位置を指定

        testButton.frame = CGRect(x:screenWidth/4, y:screenHeight/2,width:screenWidth/2, height:screenHeight/5)

        

        //ボタンに表示するテキストを指定

        testButton.setTitle("次のページへ", for: .normal)

        

        //ボタンに表示するテキストのカラーを指定

        testButton.setTitleColor(.white, for: .normal)

        

        //ボタンに表示するテキストのフォント、サイズを指定

        testButton.titleLabel!.font = UIFont(name: "Times New Roman",size: 30)

        

        // testButtonのバックグラウンドカラーを設定

        testButton.backgroundColor = .blue

        

        //実際にボタンをViewに表示させる

        self.view.addSubview(testButton)

        

        //ボタンが押された時に”buttonTapped"が起動する

        testButton.addTarget(self, action: #selector(buttonTapped(_:)), for: UIControl.Event.touchUpInside)

    }

    

    @objc func buttonTapped(_ sender: UIButton) {

        

        let nextVC = NextViewController()

        let naviC = UINavigationController(rootViewController: nextVC)

        self.present(naviC, animated: true, completion: nil)

    }

 

}

 

 

↓こっちが新たに作ったNextViewController

作り方はXcode左上の

File→new→File...→SwiftFileでNext

save AsにNextViewControllerでCreate

一度中身全部消して↓コピペしてみて下さい!

import UIKit

        

        class NextViewController: UIViewController {

            ////画面の横幅、縦幅を定義

            let screenWidth = Int(UIScreen.main.bounds.size.width)

            let screenHeight = Int(UIScreen.main.bounds.size.height)

            

            override func viewDidLoad() {

                super.viewDidLoad()

                //viewのバックグラウンドの色を指定

                view.backgroundColor = UIColor.white

                

                //画面遷移backButton設置(解説省略)

                let backButton = UIButton()

                backButton.frame = CGRect(x:screenWidth/4, y:screenHeight/2,width:screenWidth/2, height:screenHeight/5)

 

                backButton.setTitle("戻る", for: .normal)

                backButton.setTitleColor(UIColor.blue, for: .normal)

                backButton.titleLabel!.font = UIFont(name: "Times New Roman",size: 30)

                backButton.backgroundColor = UIColor.gray

                view.addSubview(backButton)

                //backButtonが押された時に"back"を呼び出す処理

                backButton.addTarget(self, action: #selector(NextViewController.back(_:)), for: .touchUpInside)

            }

            

            //backButtonが押された時に呼び出されるfunc

            @objc func back(_ sender: UIButton) {

                self.dismiss(animated: true, completion: nil)

                

            }

        }

 

 

 

如何でしたででしょうか?

疑問点等あれば、コメントお願いします。

 

 


スポンサードリンク