2011/11/29更新

[XCODE] iPhone アラートを実装してみた

このエントリーをはてなブックマークに追加      

iPhoneでアラートを使ったイメージは以下です。

f:id:yoheiM:20110215094851p:image

この例だとボタンがいっぱいあって見慣れないかもですが、ある操作に対する注意喚起や、お知らせ通知などに使う、そうあれです。



実装は以下です。ActionSheetと似てます。

UIAlertView *alert = [[UIAlertViewalloc]
      initWithTitle:@"Alert" 
            message:@"What do you want to do?" 
           delegate:self 
  cancelButtonTitle:@"Cancel" 
  otherButtonTitles:@"save", @"mail", @"upload", nil];
[alert show];
[alert release];

UIAlertViewインスタンスを作成し、[show]メソッドでアラートを表示します。



アラートを閉じる場合には以下のコードを記述します。

[alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];


アラートのボタンを押された際の動作を定義したい場合には、[UIAlertViewDelegate]プロトコルを実装し以下のメソッドをオーバーライドしたクラス(上記の例だとself)をUIAlertViewのデリゲートに指定します。

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
  [alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];
  switch (buttonIndex) {
    case 0: // save
      [self save];
      break;
    case 1: // mail
      [self mailImage];
      break;
    case 2: // upload
      [self upload];
      break;
    default: // cancelとか
      break;
  }
}

ここでは押されたボタンに合わせて、セーブしたり、メールしたり、アップロードしたりするように指定しています。



アラートもカンタンな実装で実現できるみたいで良かったヨカッタ。







こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。