【Swift】UIAlertController | ポケットリファレンス サンプル付き

UIAlertController サンプル

サンプルで動作を確認 コピーペーストで確認できます。

全体をコピー後、不必要な部分を削除することでコーディングを素早くできます。

// アラートコントローラーのインスタンスを作成
let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)

// タイトルを設定、変更
uiAlertController.title = "タイトル変更"
// メッセージを設定、変更
uiAlertController.message = "メッセージ変更"

// スタイルを取得
let uiAlertControllerStyle = uiAlertController.preferredStyle

// Cancel 時のアクション(一番下に1つ設定できます)
let cancelAction:UIAlertAction = UIAlertAction(
    title: "UIAlertActionStyle.Cancel",
    style: UIAlertActionStyle.Cancel,
    handler:{
        (action:UIAlertAction!) -> Void in
        print("Cancel")
})
// アクションを登録
uiAlertController.addAction(cancelAction)
// Default 時のアクション(複数登録できます)
// 通常の処理、OK等はこちらを設定します。
let defaultAction:UIAlertAction = UIAlertAction(
    title: "UIAlertActionStyle.Default",
    style: UIAlertActionStyle.Default,
    handler:{
        (action:UIAlertAction!) -> Void in
        print("Default")
})
// アクションを登録
uiAlertController.addAction(defaultAction)
// Destructive 時のアクション(複数登録できます)
// 注意をうながすボタンを利用した場合。削除ボタンなど
let destructiveAction:UIAlertAction = UIAlertAction(
    title: "UIAlertActionStyle.Destructive",
    style: UIAlertActionStyle.Destructive,
    handler:{
        (action:UIAlertAction!) -> Void in
        print("Destructive")
})
// アクションを登録
uiAlertController.addAction(destructiveAction)
// 設定されているアクションを取得
print(uiAlertController.actions)

// テキストフィールドを追加
uiAlertController.addTextFieldWithConfigurationHandler(
    {
        (text:UITextField!) -> Void in
    }
)
// 更にテキストフィールドを追加
uiAlertController.addTextFieldWithConfigurationHandler(
    {
        (text:UITextField!) -> Void in
    }
)
// 設定されているテキストフィールドを取得
print(uiAlertController.textFields)

// アラートを表示
presentViewController(uiAlertController, animated: true, completion: nil)

UIAlertController 概要

UIKit のアラートを利用する時に利用します。

  • Import Statement
    import UIKit
  • Available
    iOS 8.0 and later
  • Inherits
    UIViewController

イニシャライザー (初期化)

■ タイトル、メッセージ、スタイルを指定してインスタンスを作成
convenience init(title title: String?,message message: String?,preferredStyle preferredStyle: UIAlertControllerStyle)

アラート一覧

// アクションシート
UIAlertControllerStyle.ActionSheet
// アラート
UIAlertControllerStyle.Alert

インスタンスメソッド

■ アクション(選択時に実行するメソッド)を設定
func addAction(_ action: UIAlertAction)

OK等の処理、キャンセル、注意処理(削除)とうのアクションを設定します。
UIAlertAction の詳しい内容は、UIAlertAction のドキュメントを参照ください。

// アラートコントローラーのインスタンスを作成
let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)

// Cancel 時のアクション(一番下に1つ設定できます)
let cancelAction:UIAlertAction = UIAlertAction(
    title: "UIAlertActionStyle.Cancel",
    style: UIAlertActionStyle.Cancel,
    handler:{
        (action:UIAlertAction!) -> Void in
        print("Cancel")
})
uiAlertController.addAction(cancelAction)

// Default 時のアクション(複数登録できます)
// 通常の処理、OK等はこちらを設定します。
let defaultAction:UIAlertAction = UIAlertAction(
    title: "UIAlertActionStyle.Default",
    style: UIAlertActionStyle.Default,
    handler:{
        (action:UIAlertAction!) -> Void in
        print("Default")
})
uiAlertController.addAction(defaultAction)

// Destructive 時のアクション(複数登録できます)
// 注意をうながすボタンを利用した場合。削除ボタンなど
let destructiveAction:UIAlertAction = UIAlertAction(
    title: "UIAlertActionStyle.Destructive",
    style: UIAlertActionStyle.Destructive,
    handler:{
        (action:UIAlertAction!) -> Void in
        print("Destructive")
})
uiAlertController.addAction(destructiveAction)

■ アラートにテキストフィールドを利用する場合に設定
func addTextFieldWithConfigurationHandler(_ configurationHandler: ((UITextField) -> Void)?)

// アラートコントローラーのインスタンスを作成
let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)
// テキストフィールドを追加
uiAlertController.addTextFieldWithConfigurationHandler(
    {
        (text:UITextField!) -> Void in
    }
)
// 更にテキストフィールドを追加
uiAlertController.addTextFieldWithConfigurationHandler(
    {
        (text:UITextField!) -> Void in
    }
)

プロパティ

■ ラベルで表示する文字を設定、または取得
var title: String?

// アラートコントローラーのインスタンスを作成
let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)
// タイトルを設定、変更
uiAlertController.title = "タイトル変更"

■ メッセージを設定、変更
var message: String?

// アラートコントローラーのインスタンスを作成
let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)
// メッセージを設定、変更
uiAlertController.message = "メッセージ変更"

■ アラートの種類を取得
var preferredStyle: UIAlertControllerStyle { get }

// アラートコントローラーのインスタンスを作成
let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)
// アラートの種類を取得
let uiAlertControllerStyle = uiAlertController.preferredStyle

■ 設定されているアクションを取得
var actions: [UIAlertAction] { get }

let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)
print(uiAlertController.actions)

■ var preferredAction: UIAlertAction?

The preferred action for the user to take from an alert.

■ 設定されているテキストフィールドを取得
var textFields: [UITextField]? { get }

let uiAlertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: UIAlertControllerStyle.Alert)
print(uiAlertController.textFields)

利用できるアラートの種類

■ UIAlertControllerStyle

アラート一覧

// アクションシート
UIAlertControllerStyle.ActionSheet
// アラート
UIAlertControllerStyle.Alert
おすすめの本

 

タイトルとURLをコピーしました