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