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

今日はアラートの使い方について書きたいと思います。自分が忘れないようにメモめも。

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

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



実装は以下です。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;
}
}

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



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