iPhoneアプリ開発の虎の巻
HOME > UIAlertView

UIAlertView

UIAlertViewはアラートを表示させる時に使用します。
アラートはユーザに注意を促したり、処理の結果を通知したりしたい時に使用します。

1つボタンアラート 2つボタンアラート

UIAlertViewのクラス階層

NSObjectUIResponderUIView ↑ UIAlertView

生成

// 生成例
UIAlertView *alert = [[UIAlertView alloc] init];

// 生成と同時に各種設定も完了させる例
UIAlertView *alert =
  [[UIAlertView alloc]
    initWithTitle@"タイトル"
    message:@"メッセージ"
    delegate:nil
    cancelButtonTitle:nil
    otherButtonTitles:@"OK", nil
  ];
【生成と同時に各種設定も完了させるパターンの引数】
引数 設定する値
initWithTitle アラートのタイトル
message アラートのメッセージ
delegate デリゲート(不要の場合はnil)
cancelButtonTitle キャンセルボタンの表示名
otherButtonTitles 確認ボタンの表示名

UIAlertViewのプロパティ

【UIAlertViewの主要プロパティ】
プロパティ名/型 読専 説明
delegate
(UIAlertViewDelegate)
デリゲートを指定する
(例)alert.delegate = self;
title
NSString
タイトルを指定する
(例)alert.title = @"確認";
message
NSString
メッセージを指定する
(例)alert.message = @"実行してもよろしいですか?";
cancelButtonIndex
(NSInteger)
キャンセルボタンの位置を指定する(0から)
(例)2つめのボタンをキャンセルボタンに設定する
 alert.cancelButtonIndex = 1;
numberOfButtons
(NSInteger)
ボタンの数を取得する
(例)int cnt = alert.numberOfButtons;

主要なプロパティのみ掲載しています。
 上記「UIAlertViewのクラス階層」にあるクラスのプロパティも使用できます。

UIAlertViewのメソッド

【UIAlertViewの主要メソッド】
メソッド名 説明
-(NSInteger)addButtonWithTitle:
(NSString *)title
ボタンを追加する
(例)[alert addButtonWithTitle:@"ほげ"];
-(void)show アラートを表示する
(例)[alert show];

主要なメソッドのみ掲載しています。
 上記「UIAlertViewのクラス階層」にあるクラスのメソッドも使用できます。

UIAlertViewのデリゲートメソッド

【UIAlertViewDelegate】
メソッド名 説明
-(void)alertView:
(UIAlertView*)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex
ボタンがタップされた時に呼び出される
※buttonIndexにボタン番号が渡されてくる
-(void)willPresentAlertView:(UIAlertView*)alertView アラート表示直前に呼び出される
-(void)didPresentAlertView:(UIAlertView*)alertView アラート表示直後に呼び出される

主要なデリゲートメソッドのみ掲載しています。

UIAlertViewの使用例

// 1行で書くタイプ(1ボタンタイプ)
UIAlertView *alert =
  [[UIAlertView alloc] initWithTitle:@"お知らせ" message:@"完了しました"
    delegate:self cancelButtonTitle:@"確認" otherButtonTitles:nil];
[alert show];
// 1行で書くタイプ(複数ボタンタイプ)
UIAlertView *alert =
  [[UIAlertView alloc] initWithTitle:@"確認" message:@"削除してもよろしいですか?"
    delegate:self cancelButtonTitle:@"いいえ" otherButtonTitles:@"はい", nil];
[alert show];
// 複数行で書くタイプ(1ボタンタイプ)
UIAlertView *alert = [[UIAlertView alloc] init];
alert.title = @"お知らせ";
alert.message = @"完了しました";
[alert addButtonWithTitle:@"確認"];
[alert show];
// 複数行で書くタイプ(複数ボタンタイプ)
UIAlertView *alert = [[UIAlertView alloc] init];
alert.delegate = self;
alert.title = @"確認";
alert.message = @"実行してもよろしいですか?";
[alert addButtonWithTitle:@"いいえ"];
[alert addButtonWithTitle:@"はい"];
[alert show];
// アラートのボタンが押された時に呼ばれるデリゲート例文
-(void)alertView:(UIAlertView*)alertView
        clickedButtonAtIndex:(NSInteger)buttonIndex {

  switch (buttonIndex) {
    case 0:
      //1番目のボタンが押されたときの処理を記述する
      break;
    case 1:
      //2番目のボタンが押されたときの処理を記述する
      break;
  }

}
totop