2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[ios]入力フォームでの初期化について

Posted at

イメージでは下記のような画面で、「シェアする」を押した時に、画面遷移しつつ、下記の画面のテキストを空にしたり、ボタンの色を初期化することを実装したい。
テキストだけであったら、下記のように記述すればいいが・・・

sample.swift
 messagefield.text = ""
fullsizeoutput_928.jpeg

ただ、ボタンが複数あった場合や、textFieldが複数ある場合、全部に初期化するのはめんどくさいかなっと思って調べたらところ、下記の記事を発見。
http://www.anvariation.com/uiviewcontroller-reload/

あ〜確かに画面自体を初期化すればいいのかと思い、下記のコードのように実装。
画面遷移後に、loadView(),viewDidLoad()を記述してもうまく行かないので、遷移前に実行。
ただ、すごいズボラな処理ではないかと思いつつ、他にいい方法が思いつかないので、とりあえずこれで先に進めてしまおう。
リファクタリング頑張らなければ・・・

sample.swift
 override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
        ・・・中略
            if (identifier == "Gotoshare") {
                if cameratap.backgroundImage(for: .normal) == UIImage(){
                    let alert = UIAlertController(title: "入力エラー", message: "グループ画像を設定してください", preferredStyle: .alert)
                    alert.addAction(UIAlertAction(title: "OK", style: .default))
                    self.present(alert, animated: true, completion: nil)
                    return false;
                }
            }
        }
        loadView()
        viewDidLoad()
        return true;
        
    }
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?