[XCODE] 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; } }
ここでは押されたボタンに合わせて、セーブしたり、メールしたり、アップロードしたりするように指定しています。
アラートもカンタンな実装で実現できるみたいで良かったヨカッタ。