UIAlertControllerの基本

シェアする

S 2016 06 20 14 31 33 2

画面にメッセージを表示したり、ユーザーに動作を選択してもらう際に使用するUIAlertControllerの基本的な使用方法を説明します。従来UIAlertViewやUIActionSheetを使っていたところですが、iOS 8以降これらのクラスの使用は推奨されていませんのでご注意ください。

基本

UIAlertControllerを生成し、アクションを追加(アクションのイベントハンドラはクロージャで処理)、presentViewControllerでUIAlertControllerを表示というのが基本的な流れです。

AlertとActionSheetはUIAlertControllerの引数で変更することができます。

Alertの表示

通常の処理を行うデフォルトボタン、アイテムの削除など破壊的な処理を行うDestructiveボタン、キャンセル処理を行うキャンセルボタンを追加したAlertを表示するサンプルです。

S 2016 06 20 14 31 33 2

デフォルトボタン、Destructiveボタンは複数追加できるのに対し、キャンセルボタンは一つだけしか追加できないことに注意が必要です。

Action Sheetの表示

通常の処理を行うデフォルトボタン、アイテムの削除など破壊的な処理を行うDestructiveボタン、キャンセル処理を行うキャンセルボタンを追加したAction Sheetを表示するサンプルです。

S 2016 06 20 14 31 48 2

UIAlertControllerの引数が「UIAlertControllerStyle.ActionSheet」になっているだけで後はAlertを表示する場合と同じです。

複雑なAction Sheetの表示

ボタンをさらに追加することもできます。

S 2016 06 20 14 31 55 2

複数ボタンが追加できるデフォルトボタン、Destructiveボタンでは、addActionで追加した順番にボタンが表示されます。

iPadでAction Sheetを表示する

iPadでAction Sheetを表示する場合追加のコードが必要となります。

IPad

UIAlertControllerからpopoverPresentationControllerを取得しsourceViewとsourceRectに適切に値を設定します。この設定を行わないとクラッシュします。

見た目の形状が吹き出し式に変わっていることにも注目です。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

シェアする

フォローする