スポンサーリンク

【Swift】「ViewDidAppear」を使ってページ遷移時に画面更新を行う方法。

Swift
スポンサーリンク

今回の記事はページ移動時に「ViewDidAppear」を使用してページの画面を更新する方法に関しての記事になります。初心者の方でもわかるように簡単なサンプルを交えて丁寧に解説していきますので是非参考にしてみてください。

ではメインの記事に進みます。

スポンサーリンク

「ViewDidAppear」の使い方

「ViewDidAppear」使い方は簡単で下記をクラス内に追加するのみです。

override func viewDidAppear(_ animated: Bool) {

}

この「ViewDidAppear」の起動タイミングはページが遷移した後ということに注意しましょう。

似たメソッドに「viewdidload」が存在します。こちらはページを読み込んだ初回のみの実装になります。そのため初期化等の最初のみの動作でOKな処理を書くのが通例です。

仮にページ遷移時などに強制的に「viewdidload」を起動させたい場合は下記記事のように「Delegate」を自作してその中で「viewdidload」を動かすか、「ViewDidAppear」の中で「ViewDidload」を回すかになります。

ただし、上記のような処理はプログラムとしては不格好です。初期に行われる操作とページ更新時に行われる処理に関しては分けておくほうが良いと思われます。

では簡単なサンプルを使用して「ViewDidAppear」の使い方を見ていきましょう。

「ViewDidAppear」を使ってページ遷移時に画面を更新

ページ移動を行う簡単なサンプルを作成します。

下記記事を参考にするか自身でボタンでページ移動するサンプルを用意します。

【Swift】ボタンクリックでページ移動を行う方法。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var TestButton: UIButton!
    
    override func viewDidLoad() {
        
        super.viewDidLoad()
        //初期設定
        print("最初だけ実行")
    }
   
    //画像が再描写されたとき
    override func viewDidAppear(_ animated: Bool) {
        print("画面更新時に実行")
        //ボタンを消す
        TestButton.isHidden = true
    }

    @IBAction func move(_ sender: Any) {
        performSegue(withIdentifier: "次のページ", sender: nil)
    }
}

画面更新は初回も送られるのでアプリをデバックした際にまずは下記のように表示されます。

最初だけ実行
画面更新時に実行

ボタンクリックを行いページを戻ってくると下記のような変化が起きます。

画面更新時に実行

+ボタンが消えている

このようにページ移動時などの画面が作られる際に見た目の変更などが必要な場合は「ViewDidAppear」を利用して画面更新を使っていきましょう。

今回の記事は以上です。他にも多数のSwift関連の記事を記載しているので是非参考にしていただければ幸いです。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Swift
スポンサーリンク
スポンサーリンク

コメント

  1. […] 「【Swift】viewDidAppearを使ってページ遷移時に画面の更新を行う方法。」 […]

タイトルとURLをコピーしました