Swiftのダイアログの基本の基
非エンジニアで最近Swiftを勉強している友人に「ダイアログって何?どう構築するの?」と質問された際を想定し、
ダイアログの基本についてまとめます。
※主に自身の毎日の復習・学習の機会創出、アウトプットによる知識の定着を目的としております。
暖かい目で読んで頂けますと幸いです。
ダイアログとは
ユーザーに入力を求めたり、何かの通知を行うために表示される小さなウィンドウ「ダイアログボックス」の略称。
例えば、ログアウトの際にログアウトボタンを押した後、「本当にログアウトしますか?」(選択肢:「はい」or「いいえ」)などが表示画面の上にぽっと表示されるあれです。
実装コード
まずは基本のコードを記載します。
※説明は後半に記載します。
//今回はdisplayDialogメソッドとして作成します。
func displayDialog(){
//ここからが本題
//=====================
//STEP1
//ダイアログのインスタンスを設定。
//タイトルとメッセージをString型で設定
//preferredStyle後ほど説明
//=====================
let mDialog = UIlertControlle(title: "タイトル", message: "メッセージ内容", preferredStyle: .alert)
//=====================
//STEP2
//選択肢(ボタン)を作成 ※今回は一つだけ
//タイトルとスタイルを選択 ※スタイルについては後述
//=====================
mDialog.addAction(UIAlertAction(title: "ボタンのタイトル", style: .default, handler: { action in
//ここにタップ時の動作を記入
}))
//=====================
//STEP3
//ダイアログを表示
//=====================
self.present(mDialog,animated: true,completion: nil)
}
STEP1 ダイアログのインスタンスを設定+各種値を入力
まずはダイアログ「AlertController」のインスタンスを作成します。
引数として「title」「message」「preferredStyle」が必要です。
title
String型でダイアログのタイトルを入力します
message
String型でダイアログに表示する本文を入力します
preferredStyle
.alert : 画面の中央に表示させる
.actionSheet : 画面下部に下からせりあがる形式で表示させる。
STEP2 ダイアログのボタンを設定
.addActionで用いてダイアログに選択肢(ボタン)を設定する。
UIAlertActionで選択されたときのアクションなどを設定する。
引数として「title」「style」「handler」が必要です。
title
String型でボタンのタイトルを入力します
style
Default : 通常の選択肢
Destructive : 赤字表示(※否定的な選択肢を表示する際に利用)
Cancel : 一番下に表示されるかつ一つしか表示できない
handler
タップ時の動作を記入
STEP3 ダイアログを表示
presentを用いて表示
おまけ
ダイアログについては、SCLAlertViewと言う簡単にカッコ良いアニメーションのついたダイアログを表示できるライブラリがあります。
そちらを利用してみても良いかもしれません。
[Swift] 簡単に、かっこいいアニメーションアラートが表示できる、SCLAlertViewについて
まとめ
このようにまとめてみると、ダイアログは非常に簡単ですが、一つ一つのオプションなどの選択肢もあり、用途別でいろいろ調整できることがわかりました。一旦アウトプットする手を止めて、基本部分でも体系的な知識を学ぶメリットは大きいですね。
普段はDefaultとかがあればそれで良いかと何も考えず利用してしまうので、今回のように指定できる選択肢を知ることの必要性をひしひしと感じております。
利用用途に合わせて今後細かい設定もしていきたいと思います。