14
13

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 3 years have passed since last update.

【Swift】alert(アラート)で"ok"とかボタン押したら画面遷移する

Last updated at Posted at 2017-10-26

#Swift alertで"ok"とか何かしら押したら画面遷移するように設定
下記コードは"check"って書いてあるボタン押したらアラートが出て、"ok"押したら画面遷移するよってやつ

gamenseni.swift


@IBAction func tapCheck(_ sender: UIButton) {

       //部品のアラートを作る
        let alertController = UIAlertController(title: "e.g.こんにちは", message: "e.g.日本語だよ", preferredStyle: UIAlertControllerStyle.alert)
        //ちなみにUIAlertControllerStyle.alertをactionsheetに変えると下からにょきっと出てくるやつになるよ
 
       //OKボタン追加
        let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler:{(action: UIAlertAction!) in
            
        //アラートが消えるのと画面遷移が重ならないように0.5秒後に画面遷移するようにしてる
           DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
            // 0.5秒後に実行したい処理
             self.performSegue(withIdentifier: "セグエのid", sender: nil)
            }
           }
        )
        
          alertController.addAction(okAction)
        
       //アラートを表示する
        present(alertController, animated: true, completion: nil)
        
 
    }

追記
0.5秒後に実行したい処理、今回は画面遷移だけどセグエにidつけてperformSegueやってるのでセグエ無しでやりたいとかやったら

nosegue.swift

self.performSegue(withIdentifier: "セグエのid", sender: nil)

のところを
VCにidをつけて

nosegue1.swift

let storyboard: UIStoryboard = self.storyboard!
let nextView = storyboard.instantiateViewController(withIdentifier: "VCのid")
self.present(nextView, animated: true, completion: nil)

にしてもok

##画面遷移先の背景がなぜか真っ黒
なんでか知らんが画面遷移先が真っ黒に!
右側のとこ(ど忘れ)でbackground設定しても反映されず...

changehaikei.swift
view.backgroundColor = UIColor.yellow

とか背景変えるコードを適当にviewDidLoad()のとこに書けば解決

14
13
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
14
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?