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
おすすめの本
