2008年

[iPhone 開発メモ] 警告画面の表示 このエントリーを含むはてなブックマーク

iPhone/iPod touch Add comments

iPhone アプリで警告画面を表示させる方法です。

警告画面を表示する

UIAlertView *alert = [[UIAlertView alloc]
    initWithTitle:@"Alert Test"
    message:@"Message!!\nThis is Alert Test."
    delegate:self
    cancelButtonTitle:@"Cancel"
    otherButtonTitles:@"One", @"Two", nil];
[alert show];
[alert release];


message で改行をさせたい場合は “\n” を指定する。
キャンセルボタンを非表示にするには cancelButtonTitile:nil
otherButtonTitles は表示したいボタンの数だけ指定し、最後に nil を指定。

表示する際に以下のようにすると縦にボタンを並べられる。
※正式なメソッドではないらしく警告が出ます。

[alert setNumberOfRows:3];
[alert show];

警告画面で押されたボタンを取得

警告画面で押されたボタンは下記のメソッドで取得できます。押されたボタンは buttonIdex で判定します。キャンセルボタンもデザインが違うだけで、返ってくる値はキャンセルボタンがあってもなくても左側のボタンから 0,1,2 … となります。

- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    // buttonIndex は左側のボタンから 0, 1, 2 ... となる
}

警告画面そのものがキャンセルされた場合

UIAlert に alertViewCancel というメソッドがあります。最初名前からキャンセルを押された場合に呼ばれるのかと思ったのですが、よく説明を読んでみると違いました。警告画面そのものがキャンセルされた場合です。どういう場合かというと警告画面を表示中にホームボタンなどを押された場合などです。

- (void)alertViewCancel:(UIAlertView*)alertView {
    // 警告画面そのものがキャンセルされた場合の処理
}

関連する投稿

3 Responses to “[iPhone 開発メモ] 警告画面の表示”

  1. mobilestep » Blog Archive » links for 2009-03-19 Says:

    [...] [iPhone 開発メモ] 警告画面の表示 | Sun Limited Mt. # – (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { (tags: tutorial) [...]

  2. 通りすがり Says:

    いつもお世話になっております。

    - (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    の中で
    [alertView release];
    する必要はないのでは?

    (試してみましたが、落ちます)

  3. matsuura Says:

    ご指摘ありがとうございます。確かにいらないですね。削除させていただきました。

Leave a Reply

Additional comments powered by BackType

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン