[iPhone] UIAlertController アラート表示の設定

ユーザーに何か選んで欲しいときにダイアログで選択肢を表示したり、またユーザーに注意を喚起したりします。それらはUIAlertControllerにて簡単に設定できます。


Swift 5.1
Xcode 11.3.1

UIAlertController

元々UIAlertViewとUIActionSheetというのがあったのですがiOS8から非推奨となり、UIAlertControllerに統合されました。

alertとしては簡単な2拓



あるいは3拓なども可能です。



actionSheet としては複数の選択肢を提供するため画面下からのせり上がりになります。



それぞれ同じように作成できます。

alert

基本的な使い方は、以下のように、UIAlertControllerのインスタンスを作り、preferredStyleでalertを選択します。選択された時のアクションをUIAlertActionで設定し、表示するstyleを決めます。styleにはこのようなものがあります。

  • Default
    • 通常の選択肢
  • Destructive
    • 赤文字となり、否定的な選択肢
  • Cancel
    • 1つしか表示できず、一番下になる

アクションは実行内容を handler に設定します。

それぞれの選択肢のactionを追加して、UIAlertControllerを起動。

actionSheet

上はスタイルが「alert」でしたがpreferredStyleを「actionSheet」にするだけでactionSheetになります。

サンプルコード

実際の例として、2つのボタンでalertとactionSheetを表示させてみます。

ViewController.swift

 

UILabelを1つと
UIButtonを2つstoryboardに配置してコードと紐付けします。

サンプル動画

サンプルコードを実行してみました。

Reference:
UIAlertController — UIKit | Apple Developer Documentation
UIAlertControllerStyle — UIKit | Apple Developer Documentation