イメージでは下記のような画面で、「シェアする」を押した時に、画面遷移しつつ、下記の画面のテキストを空にしたり、ボタンの色を初期化することを実装したい。
テキストだけであったら、下記のように記述すればいいが・・・
sample.swift
messagefield.text = ""
ただ、ボタンが複数あった場合や、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;
}